C语言的逗号运算符

 我来答
赖建设厉子
2020-01-28 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:30%
帮助的人:876万
展开全部
你的问题似乎写错了个地方,应该是a=(
b,c--,d+3)吧,这个是《逗号运算符和表达式》那一节的,“逗号运算符按照从左到右依次运算,整个逗号表达式的值是最右边那个表达式的值”。
括号里面就是一个逗号表达式,a取逗号表达式的值。所以答案是a=8.
很专业的哦,给采纳哈。
台晚竹书妆
2020-01-26 · TA获得超过3.6万个赞
知道小有建树答主
回答量:1.2万
采纳率:31%
帮助的人:1108万
展开全部
是的,赋值运算的优先级高于逗号运算符,所以先计算
y=(x=a+b),再计算(b+c),整个逗号表达式y=(x=a+b),(b+c)
的值为
b+c
,然而并没有卵用(没有赋值)。故
最后
y=x=a+b
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
梁兰英邰乙
2020-01-26 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:35%
帮助的人:975万
展开全部
你的理解是正确的。
我估计是
程序
漏了一对
小括号:
y=
(
(x=a+b),(b+c)
);
意思是

逗号
表达式

值赋给
y
这样就有用
了。
否则,
就是
烤烤

了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
练黎天文康
2020-04-02 · TA获得超过3712个赞
知道小有建树答主
回答量:3159
采纳率:31%
帮助的人:162万
展开全部
int
a=3,b=4,c=5;
c=(a+=a-=a),//这里是分开两句话的
(b=a,c+2);
a+=a-=a这个是从右往左运行
a-=a
a=0
a+=a
a=0
c=a
c=0所以c=0
b=a
b=0
c+2
c不变
不是的
是要括号括上才取最后一个
比如
c=((a+=a-=a),(b=a,c+2));
这样才是取后面的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
虎头帮主
2020-02-22
知道答主
回答量:17
采纳率:0%
帮助的人:1.7万
展开全部

2-4 c基础知识 3逗号运算符

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式