原来a=12
a+=a-=a*=a
求表达式运算后a的值
书上答案是0
请写出运算过程
參考答案:首先要明白,+=,-=和*=这三个运算符的优先级是一样的,并且他们的结合顺序是从左到右的。
分析:
a+=a-=a*=a 可以加上括号,
((a+=a)-=a)*=a
根据括号的运算顺序,先算里面的,所以可以把它差开:
第一个是
A = a+=a;得到a= 24 表达式变成,(A-=a)*=a
然后令 B = (A -=a) 表达式变成,B*=a
这时,A = 24;a = 24;
所以,B = 0;
最后 C = B*=a ;因为B = 0;
所以C = 0
即,表达式的值是0;
这里要注意的是,当运算符的优先级一样的时候,要遵循从左到右的顺序。