c = (a -= a - 5), (a = b, b + 3);和c =( (a -= a - 5), (a = b, b + 3));区别?

若有以下程序段,其输出结果是inta=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf("%d,%d,%d\n",a,b,c);把c=(a-=a... 若有以下程序段,其输出结果是 int a= 0, b = 0, c = 0;
c = (a-=a-5), (a=b,b+3);
printf("%d,%d,%d\n",a,b,c);
把c = (a -= a - 5), (a = b, b + 3);换成c =( (a -= a - 5), (a = b, b + 3));
展开
 我来答
shine1991
科技发烧友

2021-03-07 · 智能家居/数码/手机/智能家电产品都懂点
知道顶级答主
回答量:4.7万
采纳率:82%
帮助的人:2.3亿
展开全部

c = (a -= a - 5), (a = b, b + 3);即 ( c = (a -= a - 5) ) , (a = b, b + 3); abc最后依次为0,0,5

c =( (a -= a - 5), (a = b, b + 3)); abc最后依次为0,0,3

差别是由于逗号运算符优先级最低,表达式整体是逗号表达式还是赋值表达式,影响了最终变量c的值

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式