在运行" n = n ++"时,它会输出' n'的原始值。

时间:2018-05-03 03:55:09

标签: c++

int n = 1;
n = n++;
cout<<n<<endl;

output:1

我在Google上搜索过它。分析说"n = n++" is:First assign n to n, then n add 1.

我不知道为什么输出为1而不是2。

1 个答案:

答案 0 :(得分:2)

此代码是未定义的行为。编译器可以做任何事情,甚至可以让恶魔飞出你的鼻子。要了解有关详情,请阅读https://en.wikipedia.org/wiki/Sequence_point