C语言 麻烦大师解释一下为什么a=1时a+++a=2;而++a+a++=4呢?

2025-04-05 21:02:54
推荐回答(3个)
回答1:

自加运算顺序自左到右,a 是先运算再加, a是先加再参与运算,所以a a=(a ) a=1 1=2,运算后a值才为2;而第二个是先运算 a,此时a值为2,所以 a a =2 2=4

回答2:

首先a++ a的值在此语句中的值不改,到下行执行时改变
++a a的值本行就改变
所以a+++a=1+1=2;然后a的值变为2
++a(立刻改变)+a=2+2=4

回答3:

这个是考运算符优先顺序,你查找有关资料,比如c语言运算符优先级表就能轻松解决。希望能帮到你。