在C++中定义a=12,a+=a-=a*=a最后结果为0是怎么算出的?

2024-11-21 13:31:28
推荐回答(3个)
回答1:

其运算是从左往右运算的,首先运算a=a*a=12*12=144,然后运行a =a -a =144-144=0,最后运行a =a +0 =0 。所以最后结果是0,希望能够帮助你。

回答2:

从右边开始计算
首先a*=a;a的初值是12,表达式等价于a=a*a;即12*12=144,结果赋给a,然后表达式的结果(也就是a的值)传给下一步运算。
a-=(上次表达式的值);a的初值已经变成144,而上次表达式的结果也为144,于是a-(上次表达式)=144-144=0赋给a,并也是表达式结果,传给下次运算。
a+=(上次表达式的值);a的初值为0,上次表达式的值也为0,a+(上次表达式的值)=0+0=0,赋值给a作为最终结果。

回答3:

a+=a-=a*=a相当于 a=a+(a=a-(a=a*a)
从右往左算 每次给a赋值后 a的值就变成新的值了