1.为什么输出是22和8?而不是18和6
2.为什么输出3,这是加了吗?
楼上不懂不要乱说啊~~~~
这两题考的是运算符结合方向。
第一题,考的是 加法的结合方向,是从左到右,第一次加的时候,两边分别是 (++a) + (++a) ,因为括号的优先级优先级,所以是 两次++a 优先,此时a为7,所以第一次相加之后值为14,在拿 14 + (++a),括号优先,a 变成了8,所以最终结果为22;
第二题,同第一题,只不过考的是逗号的结合方向,第一次 a++,a++ 分别取a =1 ,经过运算后 a 变成了 3,第二次逗号变成 3,a++,同样的a取 a =3,所以,逗号运算之后取逗号最右边的值,也就是当前的a =3,所以,b 的结果为3,而b 赋值后a会经过后加,所以a 为4
不懂不要影响别人哈。。。。。