设有语句int a=3; 则执行了语句a-=a+=a*a;后,变量a的值是( )

A、3B、0C、-12D、24选哪个?求助...... A、3 B、0 C、-12 D、24
选哪个?求助...
展开
 我来答
huiyangzhuang
推荐于2018-02-27 · TA获得超过435个赞
知道小有建树答主
回答量:433
采纳率:0%
帮助的人:249万
展开全部
赋值运算是从右到左的
上面的语句运算顺序是:
a-=a*a;
a+=a;
计算第一个后a 的值是-6,再计算第二个,a 的值就是 -12
更多追问追答
追问
怎么第二个就变成-12了?   第一个a-=a*a结果是-6   可是第二个a+=a为什么就等于-12了?
还有就是具体要怎样拆开计算?就像已经拆分了第一个a-=a*a,哪第二个a+=a后面的a何来?
追答
先计算a-=a*a=-6;这个你可以理解吗 a=-6;
a=a+a;a=-6+-6=-12;
lcy8760450
2017-06-16 · TA获得超过956个赞
知道小有建树答主
回答量:610
采纳率:64%
帮助的人:394万
展开全部
0
第一步:
a -= a+=9
运算后a为3
第二步运算:
a+=9后并返回a的值,得
a -= a
此时a的值为12
第二步:结果为0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-12-27
展开全部
这题目郁闷的很,,,
我试着分析下
int a=3;
a-=a+=a*a;
分析
分析表达式执行过程:
1.a-=(a=a+(a*a))
2.a = a-(a+a*a);
执行后 a=-9;
xxx选项里边木有;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yifengjbt
2012-12-27 · TA获得超过175个赞
知道答主
回答量:153
采纳率:80%
帮助的人:44.9万
展开全部
运行后结果是0,最后是减法,a=3,之后=9、18,最后a=18-18
在这里看一下:
http://codepad.org/ooq7txRZ

参考资料: http://codepad.org/ooq7txRZ

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蜗牛空_cy
2012-12-27 · 超过11用户采纳过TA的回答
知道答主
回答量:90
采纳率:0%
帮助的人:19.4万
展开全部
楼上的解说是正确的,但是算了算。 3-=3+=9 值应该是 -9
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式