1分あれば読み終わります
プログラミング言語の繰り返しでおなじみのインクリメントですが、
cのインクリメントには
i++
と
++i
があります
上からプレインクリメント、ポストインクリメントと呼びます
両方とも立派なインクリメントなのですが、
プレインクリメントは式が評価される前に
ポストインクリメントは式が評価された後に
インクリメントされます。
なので
int main(void)
{
int i[3] = { 0, 1, 2 }, j = 1;
printf("%i\n", i[++j]);
return 0;
}
#=> 2
int main(void)
{
int i[3] = { 0, 1, 2 }, j = 1;
printf("%i\n", i[j++]);
return 0;
}
#=> 1
こうなるんですね。