鱼C论坛

 找回密码
 立即注册
查看: 3330|回复: 11

C语言的一个基础问题

 关闭 [复制链接]
发表于 2011-6-27 20:54:22 | 显示全部楼层 |阅读模式

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

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

x

                               
登录/注册后可看大图
我不知道为什么会这样  按我的理解应该y=10 怎么会=6呢  求解!

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-6-28 03:57:34 | 显示全部楼层
你直接试一下
y=1,2;

逗号运算符只是分隔两个表达式,所以y=1,第二部分等于2 ,但是没有任何地方用到。

同理,程序计算了 b + c = 10 ,然后扔在一边

而赋值表达式的值就是付给变量的值,所以程序计算 a + b = 6,把 6 付给 x,
同时整个表达式 (x=a+b)的值也是 6 ,并把 6 付给 y, 完。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-6-28 12:25:42 | 显示全部楼层
excessstone 发表于 2011-6-28 03:57
你直接试一下
y=1,2;

恩  好的!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-6-29 17:45:23 | 显示全部楼层
照这样说小甲鱼老师的视频中就是错误的咯。视频中说的是把(b+c)赋值给y。
实验之后我也很费解。。。幸好看到这贴。:dizzy:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-6-29 20:11:05 | 显示全部楼层
Davy`Jones 发表于 2011-6-29 17:45
照这样说小甲鱼老师的视频中就是错误的咯。视频中说的是把(b+c)赋值给y。
实验之后我也很费解。。。幸好 ...

呵呵 ,也是!  所以要多多督促啊!!!哈哈哈~~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-6-30 17:30:12 | 显示全部楼层
因为=只是赋值
你们的代码怎么那么麻烦啊   我的简简单单 52.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-7-1 11:07:25 | 显示全部楼层
本帖最后由 hz913652409 于 2011-7-1 11:09 编辑
再生缘 发表于 2011-6-30 17:30
因为=只是赋值
你们的代码怎么那么麻烦啊   我的简简单单


我也知道是赋值,但小甲鱼说的是S=a+b,b+c
s=b+c不是s=a+b
s=是逗号后面的不是逗号前面的!!

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-2 10:33:28 | 显示全部楼层
这道题是不是可以理解为(b + c)先赋值给y,然后 (x = a+b)在赋值给y呢???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-2 11:39:21 | 显示全部楼层
呵呵,我听到的确实和楼猪说的一样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-2 23:05:57 | 显示全部楼层
没事干我来回答算了。。。
提个建议啊,能不能把源码贴出来,不喜欢图片,这样还得自己一个一个去打字。。。

lz说的这个问题其实是运算符的优先级问题
圆括号>赋值运算符>逗号运算符
而计算基本都是从左往右
因此y=(x=a+b),(b+c) 是先把a+b的值给x,然后x再给y,最后再计算b+c
如果是y=((x=a+b),(b+c))的话,因为赋值低于圆括号,因此先把a+b的值给x,然后计算b+c,最后把整个b+c的值给y
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-3 12:23:03 | 显示全部楼层
逗号运算符的作用吧!
如果语句是这样,y=(x=a+b),(b+c);
有逗号运算符,应该看成这样:
y=(x=a+b);
(b+c);
看成两个语句所以,x=6   y=6;
如果语句是这样y=((x=a+b),(b+c));
多一个括号,
这个语句的值就等于逗号运算符的右边的值,所以
y=10 x=6
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-4 09:59:32 | 显示全部楼层
新来的,学习学习。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-2-7 17:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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