コード 1:
i = 0;
while ( arr[i++] != EOF )
printf("%d", i);
出力: 1 2 3 4
コード 2:
i = 0;
while ( arr[i] != EOF )
{
printf("%d", i);
i++;
}
出力: 0 1 2 3
上記のコードでは、arr[] = "//\n\0"
ただし、i ++は最初にiを割り当てて右にインクリメントする必要があると思いますか?
つまり、
if i = 1
j = i++
j = 1 (Not 2)
では、コード 1 で正確に何が起きていて、なぜコード 2 のように振る舞わないのでしょうか?