中易网

执行语句"int a=12;a+=a-=a*a;"后a的值是多少,为什么

答案:5  悬赏:80  
解决时间 2021-01-15 14:05
  • 提问者网友:难遇难求
  • 2021-01-15 04:38
执行语句"int a=12;a+=a-=a*a;"后a的值是多少,为什么
最佳答案
  • 二级知识专家网友:思契十里
  • 2021-01-15 05:36
结果是-264,此题是右结合,开始是a*a,即为144,第二步,a-=144,所以,a=a-144=12-144=-132,第三步,a+=-132,即为:a=-132+(-132)=-264追问为什么第三步不是a=2+(-132)追答在第二步时,a已等于-132了,所以,此时不能是:2+(-132),明白了没有追问嗯,明白了,谢谢
全部回答
  • 1楼网友:十鸦
  • 2021-01-15 07:27
引用sbpl007的回答:
结果是-264,此题是右结合,开始是a*a,即为144,第二步,a-=144,所以,a=a-144=12-144=-132,第三步,a+=-132,即为:a=-132+(-132)=-264第一步是a=a*a=144,第二步是a=a-a=0,第三步是a=a+a=0,答案应该是0
  • 2楼网友:廢物販賣機
  • 2021-01-15 06:51
引用sbpl007的回答:
结果是-264,此题是右结合,开始是a*a,即为144,第二步,a-=144,所以,a=a-144=12-144=-132,第三步,a+=-132,即为:a=-132+(-132)=-264我跑了一下是-120啊
  • 3楼网友:由着我着迷
  • 2021-01-15 06:21
-264,从右向左运算追答a=12-144=-132,a=-132-132=-264
  • 4楼网友:北城痞子
  • 2021-01-15 06:11
+= -= = *= /= ...
和等号有关的运算赋值, 都是从右往左开始计算.
所以
a+=a-=a*a; 等效 a+=(a-=a*a);先执行括号的内容
运算的顺序是:
a -= a*a;
此时 a= 12 - 12*12 = 12-144=-132
a+= a
最后,a = -264
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息