int i=5,a; a=(a=i+1,a+2,a+3); printf("%d\n",a);

函数体内容如上,为什么a值输出为9?不懂其中原理。... 函数体内容如上,为什么a值输出为9?不懂其中原理。 展开
 我来答
My_Persistence
2016-06-21 · TA获得超过3467个赞
知道大有可为答主
回答量:1201
采纳率:81%
帮助的人:431万
展开全部
解释如下:

首先,运算a=i+1,则a=6;
接着运算a+2,然后就是a+3,括号里面的表达式运算完了,最后赋给a的是a+3的运算结果,a的值是6,所以6+3=9,最后输出a的值为9,逗号运算符的结合行是从左至右的,最后的表达式的值才是赋值表达式的右值。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式