肺部微创术后多久不疼:这个结果怎么y=12,z=12啊

来源:百度文库 编辑:高考问答 时间:2024/04/29 10:15:47
#include "stdio.h"
main()
{
int x=2,y,z;
y=(++x)+(x++)+(++x);
z=(x--)+(--x)+(x--);
printf("x=%d,y=%d,z=%d\n",x,y,z);

}
答案:(++x) = 3;(x++)=3;(++x)=5;
答案:(x- -)=5;(- -x)=3;(x- -)=3; 结果应该都是11才对啊~
x++不是代表用当前值然后下次才加1的吗?
如果当前就加1的话,第一个(x--)就不应该等于5了,应该等于4了

不知道可不可以这样子理解:
执行++x之后,x=3;
执行x++之后,x=3;
执行++x之后,x=4;(是不是要等到执行完y=(++x)+(x++)+(++x);后x++才起作用).
所以y=3+3+4=10;而执行完这句后x++开始执行,x=5,下面的同样理解.