C言語におけるインクリメントおよびデクリメント演算の挙動
C言語で、インクリメント演算子とデクリメント演算子は、変数の値を 1 増やしたり減らしたりするために使用されます。
インクリメント演算子「++」は、変数の前後に付けることができます。変数の前に付いている場合は、まずインクリメントして、その変数の値を使用します。変数の後に付いている場合は、まず変数の値を使用して、次にインクリメントします。
例えば、
int a = 5;
int b = ++a; // 先自增a的值,然后将a的值赋给b
printf("%d %d\n", a, b); // 输出6 6
int a = 5;
int b = a++; // 先将a的值赋给b,然后再自增a的值
printf("%d %d\n", a, b); // 输出6 5
–(マイナスマイナス)はデクリメント演算子であり、インクリメント演算子と同様に使います。
例えば:
int a = 5;
int b = --a; // 先自减a的值,然后将a的值赋给b
printf("%d %d\n", a, b); // 输出4 4
int a = 5;
int b = a--; // 先将a的值赋给b,然后再自减a的值
printf("%d %d\n", a, b); // 输出4 5
ちなみに、インクリメント演算子とデクリメント演算子は変数に対してのみ使えて、定数や式に対しては使えません。
また、インクリメントとデクリメント演算子は代入演算子と組み合わせることができ、たとえば次のようになります。
int a = 5;
a += 2; // 相当于 a = a + 2;
printf("%d\n", a); // 输出7
int b = 5;
b -= 2; // 相当于 b = b - 2;
printf("%d\n", b); // 输出3
数値を増加・減少させる演算では、上記のコードのとおり、インクリメント・デクリメント演算子を代入演算子と組み合わせることで、変数を1だけ増減させることができます。