可能性の重複:
Could anyone explain these undefined behaviors (i = i++ + ++i , i = i++, etc…)実行ターボの違いと視覚
が、考えてみて、視覚CでC
int a=0;
printf("%d%d%d%d",++a,a+1,a++,++a);
++での2コード行以下は、それが
を与えます出力:3431
しかし、ターボC++ では得られます。
出力:3311
をまた、これは、コンパイラに依存しているのですか?
シーケンスポイントがない場合の評価の順番は[不特定の動作]です(http://en.wikipedia.org/wiki/Unspecified_behavior)。 – dasblinkenlight
これは[C++ SO FAQ](http://loungecpp.wikidot.com/faq#toc11) –
のエントリによって回答されています。@Matはシーケンスポイントではありません。 –