#include <stdio.h> main() { int a,b; a=1,b=(++a)+(++a); printf("%d,%d\n",a,b); }

答案为什么是3,6??我怎么老理解为3,5?求解!!

先进行++a,++a(最后a=3),再进行括号外面的加法计算b=a+a=3+3=6追问

a=1,b=(++a)+(++a)
所以有,第一个++a=2,第二个++a=3
然后b=2+3不就是5了。。。。。请指点我哪点错了。。

追答

不是,++a的意思是先进行a=a+1,有因为有两个++a,所以执行两次a=a+1,也就是a=3,前后两个都是三,初学者容易理解成前后两个a不是同一个数,其实不是,你慢慢就能理解。初学者容易混淆这个问题。

追问

那当(++a)+(++a)+(++a)怎么算。。。求指点。。。

追答

一样算啊,先把++a都计算了,最后你是要计算3a。希望你能理解,等你理解了你计算一下b=(++a)+(a++)这题,按你最初条件最后结果是3,4

追问

这个题我会做的 ,,
只是几个++a相加的时候我容易搞糊涂。,,谢了。。。

追答

木事,当初我也错过。88

温馨提示:答案为网友推荐,仅供参考
相似回答