0
次のプログラムには単純にインクリメントとデクリメントが含まれています。私の予測として、プログラムは "0 1 1 1"を印刷する必要がありますが、代わりに "1 0 2 0"を印刷しますが、なぜですか?インクリメントとデクリメントを実行中に "cout"チェインを実行すると、予期しない結果が発生する
#include<iostream>
using namespace std;
int main(void)
{
int i=0;
cout<<i++<<" "<<i++<<" "<<--i<<" "<<i++;//this will print "1 0 2 0"
}
...しかし、私は、彼らが同じように動作するはずですが、彼らは異なる結果を生成している場合でも、チェーン出力コマンドをのような、
cout<<i++<<endl;
cout<<i++<<endl;
cout<<--i<<endl;
cout<<i++<<endl;
をしない場合は、それが正常に動作します。しかし、なぜ?
enter code here