鱼C论坛

 找回密码
 立即注册
查看: 1686|回复: 5

求助,号运算符和表达式

[复制链接]
头像被屏蔽
发表于 2014-10-13 15:21:36 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-10-13 15:21:37 | 显示全部楼层
赋值运算符的优先级比逗号运算符高,所以先赋值,y和x就都是6了,但是整个式子的值是逗号后面的b+c
如果y=((x=a+b),b+c)这样写的话就是你想的那样的了,y取的就是b+c的值

评分

参与人数 1荣誉 +1 鱼币 +5 贡献 +1 收起 理由
policewj + 1 + 5 + 1

查看全部评分

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

使用道具 举报

头像被屏蔽
 楼主| 发表于 2014-10-13 19:15:02 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-10-14 23:55:28 | 显示全部楼层
引用一个常见的例子吧
int a=1,b=2,c=3,x;
x=(a=a+1,b=b+a,a+b);此时x==6逗号运算符有优先级最低和左结合性的特点,作用是能让整个式子从左至右全部计算一遍,再把最后一个表达式作为整个表达式的取值

评分

参与人数 1荣誉 +1 鱼币 +1 贡献 +1 收起 理由
policewj + 1 + 1 + 1

查看全部评分

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

使用道具 举报

发表于 2014-10-25 22:13:03 | 显示全部楼层
赋值运算符的优先级比逗号运算符高,所以先赋值,y和x就都是6了,但是整个式子的值是逗号后面的b+c
如果y=((x=a+b),b+c)这样写的话就是你想的那样的了,y取的就是b+c的值

评分

参与人数 1荣誉 +1 鱼币 +1 贡献 +1 收起 理由
policewj + 1 + 1 + 1

查看全部评分

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

使用道具 举报

头像被屏蔽
发表于 2014-11-1 06:11:53 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-25 05:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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