Visual C++ と Java で次のプログラムを実行しています。
ビジュアル C++
void main()
{
int i = 1, j;
j = i++ + i++ + ++i;
printf("%d\n",j);
}
出力:
6
ジャワ:
public class Increment {
public static void main(String[] args) {
int i = 1, j;
j = i++ + i++ + ++i;
System.out.println(j);
}
}
出力:
7
これら 2 つの言語の出力が異なるのはなぜですか? 両方の言語でプリインクリメント演算子とポストインクリメント演算子の扱いが異なるのはなぜですか?