C语言中赋值运算符

inta=2,b=1;a=b+a+(a=b);printf("%d",a);这个结果为什么是4呢?最右边已经把a=1的值赋去了啊,难道不应该先计算括号内的吗?... int a = 2,b = 1;
a =b + a + (a = b);
printf("%d",a);
这个结果为什么是4呢?最右边已经把a = 1的值赋去了啊,难道不应该先计算括号内的吗?
展开
 我来答
DigoM
2018-02-23 · TA获得超过569个赞
知道小有建树答主
回答量:460
采纳率:63%
帮助的人:296万
展开全部
计算顺序:从左向右,依次进行,遇到括号,单独计算,a=2,b=1,先计算a+b=3,然后计算括号内的赋值运算,得a=1,所以此时a=3+1=4.
追问
谢谢!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式