刚刚也差点计算错了
其实,这运算是自右边开始的。
你首先要明白的是, ++i是先进行自加在运算,而i++是运算后实现自加的
所以,main(){
int i=5,j=5,p,q;
p=(i++)+(i++)+(i++);
q=(++j)+(++j)+(++j);
printf("%d,%d,%d,%d",p,q,i,j);
}
运行过程应该是:
p=5+5+5,然后等运算完后i自加三次,变成了8
q=6+7+8,这是运算前的自加,等下,还没完,在进行自加的时候,你可别忽略了,i每自加一次,前面的i也就发生了变化。
也就是说当
p=(++j)+(++j)+(++j)的最后一个的
++j的时候,前面的j的值,已经由于后面(第三步)的自加运算,而变成了8。
所以最后得到 p=8+8+8
也就是上面4楼所说的24.
最后i和j都变成了8
输出的整形量为:15,24,8,8