C语言中的逗号表达式

1.为什么输出结果位20而不是65呢?#include"stdio.h"voidmain(){inta,y;y=(a=3*5,a*4,a+5);printf("%d",y... 1.为什么输出结果位20而不是65呢? #include "stdio.h" void main() {int a,y; y=(a=3*5,a*4,a+5); printf("%d",y); } 2.为什么结果是15呢? #include "stdio.h" void main() {int a; a=3*5,a*4,a+5; printf("%d",a); } 希望有谁能帮我解释以下,谢谢了。 展开
 我来答
喻湘所从雪
2019-11-23 · TA获得超过3817个赞
知道大有可为答主
回答量:3091
采纳率:31%
帮助的人:230万
展开全部
逗号表达式,按从左到右顺序进行,先计算a=3*5,再计算a*4,然后a+5,但是最后把
a+5赋值给y。所以
a=3*5=15,
a+5=20,所以最后y=a+5=20
a=3*5,a*4,a+5;
","逗号运算符优先级最低,比赋值还要低,所以先计算a=3*5,
再计算a*4,最后a+5,可见
a的值
就是3*5,与后面无关啊。所以结果是15!!
多看书
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式