求解释(++x)+(++x)+(++x)
#include <stdio.h>int main(void)
{
int x=1,x1,x2,x3,y1=0,y2=0;
x1=++x;
x2=++x;
x3=++x;
x=1;
y1=(++x)+(++x)+(++x);
y2=x1+x2+x3;
printf("(++x)+(++x)+(++x)=%d\n",(++x)+(++x)+(++x));
return 0;
}
使用gdb调试后,输出如下结果
x = 4
x1 = 2
x2 = 3
x3 = 4
y1 = 10
y2 = 9
为什么(++x)+(++x)+(++x)的结果是10,分拆后结果是9?