赋值语句,从右到左依次运行:
那么:
int a=3;
a+=a-=a*a;
相当于:
a-=a*a;
a+=a;
然后相当于:
a=a-a*a;
a=a+a;
由于a初始化为3:
a=a-a*a=3-3*3=-6;
a=a+a=-6+(-6)==-12;
所以最后结果就是-12
赋值运算顺序自右而左,首先算a*a,即3*3的值为9,然后算a-=9,即a=a-9,值为-6,最后算a+=-6,即a=a+(-6),值为最后值为-3
a-=a*a -> a=a-a*a -> a=3-3*3=-6
a+=a-=a*a -> a+=-6 -> a=a-6=-6-6=-12
a=-12
希望对你有帮助,望采纳谢谢。
a+=a-=a*a;
相当于:
a-=a*a;
a+=a;
然后相当于:
a=a-a*a;
a=a+a;
由于a初始化为3:
a=a-a*a=3-3*3=-6;
a=a+a=-6+(-6)==-12
-12,a+=a-=a*a你应该从右向左算,还要明白-=,+=的意思