求c语言高手解设有语句:int a=3;执行语句a+=a-=a*a;求变量a的值

求变量a的值

赋值语句,从右到左依次运行:

那么:

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

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-04-02
赋值运算顺序自右而左,首先算a*a,即3*3的值为9,然后算a-=9,即a=a-9,值为-6,最后算a+=-6,即a=a+(-6),值为最后值为-3
第2个回答  2013-04-02
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

希望对你有帮助,望采纳谢谢。
第3个回答  2013-04-08
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
第4个回答  2013-04-02
-12,a+=a-=a*a你应该从右向左算,还要明白-=,+=的意思
相似回答