C语言中设a=1,b=2,c=3,d=4;执行printf(%d%d%d%d\n",a==b==c,c=a==b,c==(a=b),b=c);的结果是什么 100

 我来答
匿名用户
2017-08-12
展开全部
C语言提供一种特殊的运算符——逗号运算符。用它将两个表达式连接起来。如:3+5,6+8称为逗号表达式,又称为“顺序求值运算符”。逗号表达式的一般形式为表达式1,表达式2逗号表达式的求解过程是:先求解表达式1,再求解表达式2。整个逗号表达式的值是表达式2的值。例如,上面的逗号表达式“3+5,6+8”的值为14。又如,逗号表达式a=3*5,a*4对此表达式的求解,读者可能会有两种不同的理解:一种认为“3*5,a*4”是一个逗号表达式,先求出此逗号表达式的值,如果a的原值为3,则逗号表达式的值为12,将12赋给a,因此最后a的值为12。另一种认为:“a=3*5”是一个赋值表达式”,“a*4”是另一个表达式,二者用逗号相连,构成一个逗号表达式。这两者哪一个对呢?赋值运算符的优先级别高于逗号运算符,因此应先求解a=3*5(也就是把“a=3*5”作为一个表达式)。经计算和赋值后得到a的值为15,然后求解a*4,得60。整个逗号表达式的值为60。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式