求教c语言的自加问题:i的初值为3,k=(++i)+(++i)后,k和i的值分别为多少?为什么?

2024-12-04 19:57:19
推荐回答(4个)
回答1:

我认为K=9,i=5。
因为括号的优先级是最高的,然后是从左至右的结构顺序,先是第一个括号i自加,然后再是第二个括号自加。

回答2:

在不同的编译系统中,k最后得到的值不同。k=(++i)+(++i)这个表达式有二义性,楼主没必要纠结这种问题,只有对C语言不太懂的老师才会出这种题。

回答3:

答案是k=10,i=5.
因为是二目运算,先执行完2个++i, 然后再执行加法运算

回答4:

k=4+5=9;i=5
因为++i是i加1后再用,所以第一个++i 后i=4,第二个++i 后i=5,k=4+5