设a=12,且a定义为整型变量.执行语句a+=a-=a*=a;后a的值为什么为0?

问题描述:

设a=12,且a定义为整型变量.执行语句a+=a-=a*=a;后a的值为什么为0?

+=和-=和*=这三个运算符的优先级相同,从右向左运算.
a+=a-=a*=a;等价于:
a *=a;
a -=a;
a += a;
也就是:
a = a * a;
a = a - a;
a = a + a;
运算过程:
a = 12 * 12 = 144;
a = 144 - 144 = 0;
a = 0 + 0 = 0;
运算结果:0
备注:
a -= a; 的运算结果恒为0