Loose-Info.com
Last Update 2023/05/28
TOP - 各種テスト - C言語 - 増分演算子(++)の前置・後置の挙動比較

増分演算子(++)の前置・後置の挙動比較

sample.c
#include <stdio.h> #include <stdlib.h> int main(void) { int i = 0; /* 前置増分演算子(++)によるループ */ while (++i < 3) { printf("前置 i=%d\n", i); } printf("\n"); i = 0; /* 後置増分演算子(++)によるループ */ while (i++ < 3) { printf("後置 i=%d\n", i); } return EXIT_SUCCESS; }

実行結果
$ gcc -Wall sample.c $ ./a.out 前置 i=1 前置 i=2 <--- 加算後(iが3の時点)でwhile文条件式の評価(ループ実行無し) 後置 i=1 後置 i=2 後置 i=3 <--- 加算前(iが2の時点)でwhile文条件式の評価

実行環境

GNU bash, version 5.1.16
GCC-12.2.0
GNU C Library 2.36
GNU Binutils 2.39


コード例・出力内容中の表記

・実行例中の太字表記部分は、コマンドなどの入力された文字列を示します。
・「」や「...」の着色省略表記は、 実際のソースコードや出力内容などを省略加工した部分を示します。