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
