<++と-->
++(インクリメント演算子)と--(デクリメント演算子)は、それぞれ「1を加える」、「1を引く」もので、ループの中でカウントする時などに頻用されます。
これらの演算子は、変数の前にも後にも置くことができますが、どちらに置くかで違いがあるので注意が必要です。
i
= 5;
n
= ++i;
では、iに1が足された後にnに代入されるので、nは6ですが、
i
= 5;
n
= i++;
では、nにiが代入した後にiに1が足されるので、nは5になります。
++や--は、ほとんどのfor文で使われます。
for
(i = 0;i < ARRAY_SIZE; i++) {
data[i]
= i;
}
この場合は、i++でも++iでも構いません。しかし、下の例で++cntをcnt++としてしまうと、おかしな結果になります。
#include
<stdio.h>
int
main(void) {
int
n=0, sum=0, cnt=0;
do
{
printf("Input
a number:");
scanf("%d",
&n);
printf("Sum
of %d values: %d\n", ++cnt, sum+=n);
}
while (sum <= 100);
}