++--

 

 ++インクリメント演算子)と--デクリメント演算子)は、それぞれ「1を加える」、「1を引く」もので、ループの中でカウントする時などに頻用されます。

 

 これらの演算子は、変数の前にも後にも置くことができますが、どちらに置くかで違いがあるので注意が必要です。

 

         i = 5;

         n = ++i;

 

では、i1が足された後にnに代入されるので、n6ですが、

 

         i = 5;

         n = i++;

 

では、niが代入した後にi1が足されるので、n5になります。

 

 ++--は、ほとんどのfor文で使われます。

 

for (i = 0;i < ARRAY_SIZE; i++) {

         data[i] = i;

}

 

 この場合は、i++でも++iでも構いません。しかし、下の例で++cntcnt++としてしまうと、おかしな結果になります。

 

#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);

}

 

 

戻る