首页 > 解决方案 > 在运行“n=n++”时,它会输出“n”的原始值

问题描述

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

output:1

我已经在谷歌上搜索过了。分析说"n = n++" is:First assign n to n, then n add 1.

我不知道为什么它给出的输出是 1,而不是 2。

标签: c++

解决方案


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


推荐阅读