设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值是(  ) A) 3 B) 0 C) 9 D) -12

 我来答
matchmanner
2011-07-05 · TA获得超过740个赞
知道答主
回答量:35
采纳率:0%
帮助的人:33.3万
展开全部
选项为D。
解析:根据算术运算符的优先级,应该是先算乘法,即a*a=3*3=9,于是该式子变为a+=a-=9,注意此时a值依然为3。再根据从右向左的运算顺序,将将上式一分为二:a+= | a-=9,先计算右一项,a=a-9=3-9=-6。这样,a的值变成了-6,再计算左半部分a=a+(-6)=-6+(-6)=-12。故选项为D。
以上结果,本人已通过程序运行调试,绝对没有问题。
oolgloo
推荐于2018-03-04 · TA获得超过2636个赞
知道小有建树答主
回答量:604
采纳率:0%
帮助的人:649万
展开全部
D) -12
--------
等价 a += (a -= (a*a))
自右向左算
a*a = 9 , a = 3不变
a-= 9, a = a-9, a=-6
a+=-6, a = a+(-6), a=-12
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wanfustudio
2011-07-05 · TA获得超过1万个赞
知道大有可为答主
回答量:5513
采纳率:100%
帮助的人:3665万
展开全部
D: -12

相当于 a+=(a-=a*a);

a-= a*a; 相当于a = a - a*a; 所以a为-6

a+=a; 相当于a = a+a; 此时传入的a是上一步计算的结果-6, 所以最后a 为-12
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
SupremeKai
2011-07-05 · TA获得超过6247个赞
知道大有可为答主
回答量:1520
采纳率:33%
帮助的人:1372万
展开全部
D
=是右匹配。
a=3;
执行a-=a*a,即a=3-9,a=-6;
a+=-6;即a=-6+(-6);
所以a=-12;

我用vc验证过了,是-12
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
智楠0352
2011-07-05 · TA获得超过1028个赞
知道小有建树答主
回答量:394
采纳率:0%
帮助的人:482万
展开全部
D
从右向左执行。
a-=a*a过后a=-6。
再执行前面的a+,则a=-12
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式