Code Bye

++连加运算

#include <stdio.h>
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

20


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明++连加运算