根据前增量和后增量运算符的概念,以下代码的输出应该是(8+8(=16,但在编译器中它被求值为17。请用步骤进行解释。
#include <iostream>
using namespace std;
int main()
{
int n = 7;
int x = ++n + n++;
cout << x;
return 0;
}
以下代码应为(8+8(=16
这是不对的。
请用步骤进行解释。
此表达式:
++n
修改n
。
这个表达式:
n++
修改n
。
这个表达式:
++n + n++
对同一变量有两个修改,它们彼此之间未排序。因此,程序的行为是未定义的。
由于bahviour是未定义的;应该";或";不应该"是