c语言问题,高手请进谢谢!!!!!!

一、先运行第一个++i, i的结果是2
二、再运行第二个++i, i的结果是3
三、计算前两式之和。因为,此时运算的是i+i,所以是3+3=6(这个结果要保存到一个临时空
间中)
四、再运算第三个++i,i的结果是4
五、计算上一步的结果与当前i的和。6+4=10

这是一个符合实际程序运算结果的答案。可是为什么第三步中计算前两式之和,而不是先算3个括号。如果先计算3个括号,最后应该是12。c语言计算不是先看优先级再看结合性吗?
i=1,(++i)+(++i)+(++i)=?

1、++i 时i加1得到i,此时的i=2;
2、++i 时i加1得到i,此时的i=2+1=3;
3、此时前面有两个i等待运行,即i+i-------->这两个i些时都是3;而不是一个2,一个3;
4。再一个++i 此时i加1得到i,i=3+1=4;由上面的理解知道i此时已经是4,
5、由上面四步得到一个i=4,i+i+i的式子,写入数据得到12
今天上课还在纠结这个问题,一看到你的问题突然想起来了!呵呵
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答