有下代码int x=3;int y=(x++)+(++x)+(x++); 计算结果如下1.执行前增量操作(x++) 执行后x为4;2.然后取x的值计算表达式:y=4+4+4=12. (这里我有点不明白只加(x++)吗? 后面的(++x)和(x++) 不用加了吗?3.最后执行后增量操作:该表达式中含有两个后增量操作,则执行后x=6.(这里不明白为什么x=6.执行上述代码后X=6,y=12. (这里也不明白 ?)
x=4
+=在执行语句的过程中并不会赋值,所以在执行的过程中调用到的x所储存的值都是4.
x+=(x-=(x-(x--)))=
x+=(x-=(x-3))=
4+=(4-=1)=
4+3=7
唔,本地g++运行结果是7.
不知道怎么回事。