c语言a=(2,3);是啥意思?

#include<stdio.h>intmain(){inta,b,c,d;c=(a=(2,3));d=(b=2,3);printf("a=%d,b=%d,c=%d,d=... #include <stdio.h>
int main()
{
int a,b,c,d;
c=(a=(2,3));
d=(b= 2,3 );
printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,d);
return 0;
}
这道题看不懂啊,求大佬帮忙解读!
展开
 我来答
GTA小鸡
高粉答主

2019-11-09 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.6万
采纳率:78%
帮助的人:1.3亿
展开全部
c=(a=(2,3));
先求逗号表达式2,3,值为最后一项3;然后求表达式a=3,将a赋值为3并返回3;最后求表达式c=3,将c赋值为3。
d=(b=2,3)先求逗号表达式b=2,3,前一个子表达式将b赋值为2,返回后一个子表达式的值3;然后求表达式d=3,将d赋值为3。
输出abcd的值,a=3, b=2, c=3, d=3。
钞琼习幻玉
2020-06-28 · TA获得超过3719个赞
知道小有建树答主
回答量:3219
采纳率:32%
帮助的人:172万
展开全部
如果a已经声明类型并已赋值,那么a*=2+3就是a=a*5的意思;同样a/=a+a就是a=a/(a+a)的意思。因为+的优先级比*=和/=高。如果a没有声明,则是错误语句;如果a未赋值,则编译时会警告并得到一个垃圾值……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Bleedingzdx
2019-11-09 · TA获得超过423个赞
知道答主
回答量:140
采纳率:33%
帮助的人:40.8万
展开全部
这段代码没有问题么
追问

没有,我运行了,可以出结果,就是不知道这段代码是啥意思

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式