标签: c++
int n = 1; n = n++; cout<<n<<endl; output:1
我在Google上搜索过它。分析说"n = n++" is:First assign n to n, then n add 1.
"n = n++" is:First assign n to n, then n add 1.
我不知道为什么输出为1而不是2。
答案 0 :(得分:2)
此代码是未定义的行为。编译器可以做任何事情,甚至可以让恶魔飞出你的鼻子。要了解有关详情,请阅读https://en.wikipedia.org/wiki/Sequence_point