明朝皇帝铠甲:赋值表达式:a+=a-=a*=a; 设a=12,请问它的计算过程是什么?

来源:百度文库 编辑:高校问答 时间:2024/04/29 18:05:49

a += a -= a *= a;
这是一个赋值表达式它包含复合的赋值运算符;由于赋值运算符结合方向是 \"自由至左\" 因为a的初值为12,此赋值表达式的求解步骤如下:
S1:先进行\"a *= a\"的运算,它相当于a = a * a,a的值为12*12=144;
S2:再进行\"a -= 144\"的运算,相当于a = a - 144,a的值为144-144=0;
S3:最后进行\"a += 0\"的运算,相当于a = a + 0, a的值为0+0=0;
所以此表达式结果为0

晕死,是个人都不会写出这种程序来的。

a += a -= a *= a;

相当于

a += (a -= (a *= a));

因为 a 的值为 12,所以 a *= a 后,a = 24
a -= 24 后,a = 0
a += 0 后,a = 0

流汗.a=12 a*=a后是24吗?应该是a=a*a=12*12=144
然后a=a-a=144-144=0
最后结果是0

这个是没有技术含量的,但是作为考察基础知识是有那么一点点用的的