C言語 インクリメント・デクリメント

インクリメントとデクリメントは、単純に言うと足し算と引き算です。

例えば、変数iの値を1だけ増やしたい時には、i = i + 1と書きますが、
i++と書く事で、i = i + 1と同じ意味となります。
これをインクリメントと言います。

同じように、変数iの値を1だけ減らしたい時には、i = i – 1と書きますが、
i–と書く事で、i = i – 1と同じ意味となります。
これをデクリメントと言います。

主にループ制御用の変数に使用する事が多いです。

ちなみに、値を1加算、1減算する事はできますが、
2加算、2減算する事はできません。

高度な使い方

      int i = 1;
   
      while (i <= 5) {
            printf("変数i = %d\n", i++);
      }

      i = 0;

      while (i <= 4) {
            printf("変数i = %d\n", ++i);
      }

上のwhile文の場合は、iを出力してから、i++が実行されます。
一方、下のwhile文の場合は、i++を実行してから、iが出力されます。

i–と–iだった場合も意味は同じです。

どちらのループも出力は同じとなります。

ただ、多少分かりずらくなるので、インクリメント・デクリメント処理は、
単独の文で書いた方が良いと思います。

タイトルとURLをコピーしました