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

2024-11-25 16:54:37
推荐回答(3个)
回答1:

+=和-=和*=这三个运算符的优先级相同,从右向左运算。
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

回答2:

你好,这个从左往右运算,先得到a=144,再得到a=0,最后a=0;
希望回答能帮到你,哪里不清楚再问。

回答3:

从右往左,a的值一直在变化的。。