c语言中,i=1,(++i)+(++i)+(++i)=?

我主要是不懂具体怎么做的,,求知哈。。。。
2024-12-21 23:27:57
推荐回答(4个)
回答1:

//(++i)+(++i)+(++i)=?
先说明一下:
++i的意思可分解成以下两步:i=i+1,i再参与运算

上面的表达式运算过程:(同级运算从左到右,有括号先算括号)
一、先运行第一个++i, i的结果是2
二、再运行第二个++i, i的结果是3
三、计算前两式之和。因为,此时运算的是i+i,所以是3+3=6(这个结果要保存到一个临时空
间中)
四、再运算第三个++i,i的结果是4
五、计算上一步的结果与当前i的和。6+4=10

回答2:

应该是 ((((++i)++) + i)++) + i = 10
仔细研究 C 的运算顺序吧。
不过这么蛋疼的代码在实际中是个人就不会这样写,公司同事也会抽死你,也就学校的老师搞搞这一套。
c语言的计算顺序是,从左到有,能结合成语句的先计算,直到不能结合成语句为止。
另外,话说,++i,和 i++,实际当中使用没有区别。

回答3:

从左向右算:++i(i=2), ++i(i=3) ++i(i=4)
2+3+4=9

回答4:

12