タグ付けされた質問 「post-increment」





17
「x = x ++」の後のxは何ですか?
これが実行されると(カーテンの後ろで)何が起こりますか? int x = 7; x = x++; つまり、変数がポストインクリメントされ、1つのステートメントでそれ自体に割り当てられると、これをコンパイルして実行しました。ステートメント全体の後でさえ、xまだ7 です。私の本では、それはインクリメントされていると言っています!x

5
* ptr + = 1とCの* ptr ++の違い
Cの勉強を始めたばかりで、関数のパラメーターとしてポインターへのポインターを渡すことについて1つの例を実行すると、問題が見つかりました。 これは私のサンプルコードです: #include <stdio.h> #include <string.h> #include <stdlib.h> int* allocateIntArray(int* ptr, int size){ if (ptr != NULL){ for (int i = 0; i < size; i++){ ptr[i] = i; } } return ptr; } void increasePointer(int** ptr){ if (ptr != NULL){ *ptr += 1; /* <----------------------------- This is line 16 …


10
C ++での増分-x ++または++ xを使用する場合
私は現在C ++を学んでおり、インクリメントについて少し前に学びました。「++ x」を使用して前にインクリメントを行い、「x ++」を使用して後にインクリメントできることを知っています。 それでも、どちらを使用するかは本当にわかりません...「++ x」を実際に使用したことがなく、これまでのところ常に問題なく機能しているので、いつ使用するべきですか? 例:forループで、「++ x」を使用するのが望ましいのはいつですか? また、誰かがさまざまな増分(または減分)がどのように機能するかを正確に説明できますか?とても感謝しております。

3
(++ i)++が有効なのに「++ i ++」が無効なのはなぜですか?
次のコードを考えてみましょう: int main() { int i = 2; int b = ++i++; return 3; } 次のエラーでコンパイルされます。 <source>: In function 'int main()': <source>:3:16: error: lvalue required as increment operand 3 | int b = ++i++; | ^~ これは私には公平に聞こえます。後置インクリメントはコードのように解析されて、接頭増分よりも高い優先度を有するint b = ++(i++);とi右辺値です。したがってエラー。 デフォルトの優先順位を上書きするために、括弧を付けたこのバリアントについて考えてみましょう。 int main() { int i = 2; int b …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.