#include <stdio.h>
void main(){
int a = 3;
int b;
b=(++a)+(++a);
printf(“%d\n”,b);
}
想讨教各位前辈,为什么运行结果是10,
本人在ecilpse下运行结果为9。
void main(){
int a = 3;
int b;
b=(++a)+(++a);
printf(“%d\n”,b);
}
想讨教各位前辈,为什么运行结果是10,
本人在ecilpse下运行结果为9。
解决方案
40
这是未定义行为,涉及顺序点,不同编译器结果可能不同
不要写这种表达式
关于C,C++表达式求值顺序 http://bbs.csdn.net/topics/370153775
不要写这种表达式
关于C,C++表达式求值顺序 http://bbs.csdn.net/topics/370153775
20
关于C,C++表达式求值顺序 http://blog.csdn.net/fefe82/article/details/37833767,http://bbs.csdn.net/topics/370153775