スポンサーリンク
i++ 配列を参照した後インクリメント
例えば、下記の場合です。
この場合は、配列xの要素を参照した後、iがインクリメントされます。
printf("x[i++] = %d\n", x[i++]);
下記がサンプルコードになります。
$ cat sample1.c #include <stdio.h> #define SIZE 4 int x[SIZE] = {0, 1, 2, 3}; int main(){ int i; i = 0; printf("i = 0をセット\n"); printf("x[i] = %d\n", x[i]); printf("x[i++] = %d\n", x[i++]); printf("x[i] = %d\n", x[i]); return 0; } </stdio.h>
下記が実行結果になります。
$ gcc -o sample sample1.c $ ./sample i = 0をセット x[i] = 0 x[i++] = 0 x[i] = 1
スポンサーリンク
++i インクリメントした後に配列を参照
例えば、下記の場合です。
この場合は、iがインクリメントされた後に、配列xの要素が参照されます。
printf("x[++i] = %d\n", x[++i]);
下記がサンプルコードになります。
$ cat sample2.c #include <stdio.h> #define SIZE 4 int x[SIZE] = {0, 1, 2, 3}; int main(){ int i; i = 0; printf("i = 0をセット\n"); printf("x[i] = %d\n", x[i]); printf("x[++i] = %d\n", x[++i]); printf("x[i] = %d\n", x[i]); return 0; } </stdio.h>
下記が実行結果になります。
$ gcc -o sample sample2.c $ ./sample i = 0をセット x[i] = 0 x[++i] = 1 x[i] = 1
スポンサーリンク