设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值是( ) A) 3 B) 0 C) 9 D) -12
展开全部
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
--------
等价 a += (a -= (a*a))
自右向左算
a*a = 9 , a = 3不变
a-= 9, a = a-9, a=-6
a+=-6, a = a+(-6), a=-12
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
D: -12
相当于 a+=(a-=a*a);
a-= a*a; 相当于a = a - a*a; 所以a为-6
a+=a; 相当于a = a+a; 此时传入的a是上一步计算的结果-6, 所以最后a 为-12
相当于 a+=(a-=a*a);
a-= a*a; 相当于a = a - a*a; 所以a为-6
a+=a; 相当于a = a+a; 此时传入的a是上一步计算的结果-6, 所以最后a 为-12
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
D
=是右匹配。
a=3;
执行a-=a*a,即a=3-9,a=-6;
a+=-6;即a=-6+(-6);
所以a=-12;
我用vc验证过了,是-12
=是右匹配。
a=3;
执行a-=a*a,即a=3-9,a=-6;
a+=-6;即a=-6+(-6);
所以a=-12;
我用vc验证过了,是-12
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
D
从右向左执行。
a-=a*a过后a=-6。
再执行前面的a+,则a=-12
从右向左执行。
a-=a*a过后a=-6。
再执行前面的a+,则a=-12
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询