鱼C论坛

 找回密码
 立即注册
查看: 3564|回复: 3

一个C问题

[复制链接]
发表于 2011-7-30 12:56:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>
void main()
{
int a = 2,b = 4,c = 6,x,y;
y = (x = a+b),(b+c);
printf("y = %d,x = %d",y,x);
}

Y的值为多少,如果按甲鱼哥的说法,y=b+c=10?
可是我的输出结果为6
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-7-30 15:21:24 | 显示全部楼层
逗号运算符的优先级最低。y = (x = a+b),(b+c);会先运算y = ( x = a + b),然后运算这个逗号运算语句。改成y = (x = a+b,b+c); y就是逗号运算的结果了。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-7-30 22:59:54 | 显示全部楼层
小甲鱼老师那 逗号运算,乱死了,我也遇到了那样的结果,
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-7-31 23:12:52 | 显示全部楼层
y = (x = a+b),(b+c);

=============  y = (x=a+b) 是表达式1, b+c是表达式2
就是这样
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-7 08:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表