以下のようないくつかのコード:
int x = 1;
printf("%d,%d,%d",x,x++,x); //A statement
cout<<x<<x++<<x<<endl; //B statement
実行シーケンスが右から左であることはわかっていますが、なぜAステートメントの結果は「1,1,1」で、Bステートメントの結果は「112」ですか?
vs2008 をデバッグ モードで使用しています。結果は同じです: 2,1,2。リリースモードあり: 結果が異なります: A: 1,1,1, B:1,1,2