c语言中y=++x+(x++);与y=x+++(x++);的不同,两者对后面的X有什么影响

如题所述

y=++x+(x++); <=> y=(++x)+(x++);
y=x+++(x++); <=> y=(x++)+(x++);

(++x) 和 (x++) 都会引起后面的x增加1;但是它们的取值不同,++x 值比 x++ 大1。来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-13
只能说这样写是有问题的,我感觉最终结果可能取决于底层的实现(栈等),建议你先把编译原理弄懂,再来看这一题吧,估计不同的机器结果可能都不一样。不然就算知道答案也是没有的意义的。
第2个回答  2013-01-13
例x=1;
前者y1=2+2=4,x=3;
y2=4+4=8,x=5、、、
后者y1=1+2=3;x=3;
y2=3+4=7,x=5、、、
相似回答