C语言:a=3,a+=a-=a*a,求a

 我来答
zhoudancac
推荐于2017-04-20 · TA获得超过642个赞
知道答主
回答量:61
采纳率:0%
帮助的人:60.2万
展开全部
a最后的值为-12
a+=a-=a*a

的计算顺序为先计算a*a 结果为9
然后计算 a-=a*a 也就是 a-=9 这是一个符合赋值表达式 相当于 a=a-9 ,a的值变成-6,同时表达式的返回值为-6

然后计算a+=(a-=a*a)
也就是a+=-6 即 a=a+-6
a的值为-12
追问
谢谢
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nlk520zh
2014-01-02 · TA获得超过729个赞
知道小有建树答主
回答量:414
采纳率:100%
帮助的人:456万
展开全部
-12,然后运算符的优先级,*比+=还有-=高,所以先算a*a=9,然后+=,-=的结合性是从右到左,先a-=9,就是a=a-9,a变成-6,最后计算a+=a,就是a=(-6)+(-6),最后a=-12。编译器也已经编译,没有问题。如果有疑问请追问,满意请采纳,谢谢
更多追问追答
追问
可是答案是12:-(
追答
无语了,看看群众的呼声,还有编译器,楼主你应该相信我们
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我有我必须变强的理由
2018-05-23 · TA获得超过9138个赞
知道答主
回答量:61
采纳率:0%
帮助的人:2万
展开全部
a最后的值为-12
a+=a-=a*a

的计算顺序为先计算a*a 结果为9
然后计算 a-=a*a 也就是 a-=9 这是一个符合赋值表达式 相当于 a=a-9 ,a的值变成-6,同时表达式的返回值为-6

然后计算a+=(a-=a*a)
也就是a+=-6 即 a=a+-6
a的值为-12
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
楼主_回头是岸
2014-01-02 · TA获得超过724个赞
知道小有建树答主
回答量:799
采纳率:53%
帮助的人:330万
展开全部
a=a*a; a=9
a=a-a; a=0
a=a+a; a=0
谭浩强看多了
根据编译器不同会不同
所以一般写程序不会这么写
所以你就别研究了大哥
相信你看见有很多人这么说
那我就不多说了
88
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿丁彩笛卷
2014-01-02 · TA获得超过289个赞
知道小有建树答主
回答量:235
采纳率:0%
帮助的人:162万
展开全部
我用Dev C运行后 答案为:-12
先算a*a=9,然后因为+=,-=是从右往左的优先级,所以依次为a-9=-6(此时a变为-6),接着a+a=-6+-6=-12
更多追问追答
追问
可是答案是12,:-(
追答
答案错了噢,不信你用编译程序去试试。我刚试过了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式