C语言中 a=b,c 和a=(b,c) 的值分别是多少

发布网友

我来回答

2个回答

热心网友

逗号运算符的优先级是最低的,在第一个表达式中,先把b赋值给a,然后a与c逗号运算返回c当然没有任何变量接收这个返回值,如果
d=(a=b,c)
这样d的值就和c的值一样了,所以在a=b,c;之后a和b的值一样
在第二个表达式中,逗号表达式用括号括起来了,所以先计算逗号运算,结果为最右边的值,所以括号后的结果就为c的值,这时a和c的值相等

热心网友

如果:
int
a=1,b=2,c=3;
那么
a=b,c
的结果是
a=2,b=2,c=3
a=(b,c)
的结果是
a=3,b=2,c=3
用括号将
b,c括起来的话,逗号就成了运算符,那么整个括号就会取最后面的值,此时也就是取c的值

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com