鱼C论坛

 找回密码
 立即注册
查看: 2057|回复: 7

为什么逗号表达式会运算错误了?求教

[复制链接]
发表于 2015-7-22 18:28:02 | 显示全部楼层 |阅读模式

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

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

x
谢谢啦~~

谢啦

谢啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-7-22 20:34:01 | 显示全部楼层
优先级问题,赋值运算符 的 优先级 比 逗号运算符 的 优先级 高
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-22 20:42:23 | 显示全部楼层
哥斯拉不说话 发表于 2015-7-22 20:34
优先级问题,赋值运算符 的 优先级 比 逗号运算符 的 优先级 高

逗号运算不是只算后面的那个表达式吗?怎么算出来还是9,而不是10呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-7-22 21:11:00 | 显示全部楼层
y = (x = a + b),(b + c)等价于y = ( x = a + b); (b+c)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-23 11:12:31 | 显示全部楼层
桃花飞舞 发表于 2015-7-22 21:11
y = (x = a + b),(b + c)等价于y = ( x = a + b); (b+c)

我还是不太懂,麻烦给点详细的解答,谢谢~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-7-23 11:26:04 | 显示全部楼层
y =((x = a + b),(b + c))这样就是10了,y = (x = a + b),(b + c)这是一个逗号表达式,逗号左边是y = (x = a + b) = 9逗号右边是b + c = 10.逗号表达式的值是 10 ,剩下的就不用我说了把
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-23 12:32:29 | 显示全部楼层
桃花飞舞 发表于 2015-7-23 11:26
y =((x = a + b),(b + c))这样就是10了,y = (x = a + b),(b + c)这是一个逗号表达式,逗号左边是y = (x = a  ...

感谢啊~~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-4 14:19:51 | 显示全部楼层
y = (x = a + b),(b + c)
可以看成 y = x, b + c
即 y = 9, 10
因为赋值运算符的优先级比逗号运算符的优先级高,所以y = 9.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-26 15:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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