次の 3 つのケースすべてで Visual C++ コンパイラの出力が異なる理由を理解しようとしています。
プログラム 1
i = 0;
while ( i < 100)
{
printf( "%d: %d\n", array1[i], array2[i]);
i++;
}
プログラム 2
i = 0;
while ( i < 100)
{
printf( "%d: %d\n", array1[i], array2[i++]);
}
プログラム 3
i = 0;
while ( i < 100)
{
printf( "%d: %d\n", array1[i++], array2[i]);
}
私の理解では、式が評価された後にインクリメント演算子がiの値をインクリメントすることを期待していました。最初は、3 つすべてが同じ出力になると思っていましたが、出力を見た後、少なくともプログラム 1 とプログラム 2 の出力は同じであると予想していました。
ただし、出力は 3 つのケースすべてで異なっていました。ここで欠けているものを修正してください。