自增、自减运算符问题
#include<iostream>using namespace std;
int main()
{
int i,j,m;
i=8;
j=10;
m=++i+j++;
return 0;
}
运行上述代码
我算的结果是19
但得到的结果是10
请问各位大神这是为什么 未定义行为,得多少都不奇怪。 永恒的蓝色梦想 发表于 2020-5-30 15:37
未定义行为,得多少都不奇怪。
麻烦能稍微再详细解释一下吗,什么叫未定义行为啊 永恒的蓝色梦想 发表于 2020-5-30 15:37
未定义行为,得多少都不奇怪。
#include<iostream>
using namespace std;
int main()
{
int i,j,m;
i=8;
j=10;
m=++i+j++;
cout<<m<<endl;
return 0;
}
不好意思,上面的代码错了,这个代码是正确的,您能给解释一下为什么输出的m的结果是10吗 巨兔12138 发表于 2020-5-30 15:50
不好意思,上面的代码错了,这个代码是正确的,您能给解释一下为什么输出的m的结果是10吗
跟你说了未定义行为,我这得的 19。 巨兔12138 发表于 2020-5-30 15:42
麻烦能稍微再详细解释一下吗,什么叫未定义行为啊
就是得什么看命/看编译器的行为。
页:
[1]