C语言int a=1,b; b=(a+=3)+(a*=2),b为什么是16?

 我来答
arongustc
科技发烧友

2021-04-27 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:5849万
展开全部
这种代码之所以能成题,是必须违背软件工程得“可读性”要求来做得。对于初学者而言,这种题目是非常有害而不是有利得。你在工作中要是写出这种题目中得代码,是肯定会被批评得
现在得教材出了这种垃圾题目,建议抛弃
追问
我知道,但是老师出了这个题,我怎么也没想明白哪来的16
追答
唉,这种题目就是误人子弟啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
最大的宝宝
2021-04-27 · TA获得超过828个赞
知道小有建树答主
回答量:1569
采纳率:67%
帮助的人:398万
展开全部
a = a + 3 = 1 + 3 = 4
a = a * 2 = 4 * 2 = 8
b = a + a = 8 + 8 = 16
这是反汇编得到的过程。这类题少做为好,免得最后路都不会走了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式