若有定义语句int a=12,则执行表达式a+=a-=a+a后a的值为-24。
计算过程:
a+=a-=a+a,运算符和结合性,由运算符优先级,+优先级为4,-=和+=优先级为14,+结合方向从左至右,+=和-+从右至左。
所以:
先计算 (a+a),a=12,a+a=12+12=24,
再计算 a-=(a+a),即a=a-(a+a)=12-24=-12,
最后计算 a+=a, 即a=a+a=-12+(-12)=-24。
a+=a-=a+a,运算符和结合性,由运算符优先级,+优先级为4,-=和+=优先级为14,+结合方向从左至右,+=和-+从右至左,
所以:
先计算 (a+a),a=12,a+a=12+12=24
再计算 a-=(a+a),即a=a-(a+a)=12-24=-12,
最后计算 a+=a, 即a=a+a=-12+(-12)=-24
-24
原因: 12+12->a=24 ->a- =24+24先+再-
所以a- =48而a=24所以a=-24
答案是:-24
a+a //得24
a-=24 //a=a-24=12-24=-12
a+=a //a=a+a=(-12)+(-12)=-24
-24