<++と-->

 

 ++(インクリメント演算子)と--(デクリメント演算子)は、それぞれ「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);

}

 

 

戻る