c语言求详尽分析:int a=1,b=2;b==a=2;判断真假?本人认为为0但与答案不一样。

[复制链接]
查看11 | 回复4 | 2011-12-28 13:51:24 | 显示全部楼层 |阅读模式
int a=1,b=2;b==a=2;
//这个是逻辑表达式,表示b==(a=2),判别b与a=2这两个表达式的值是否相等,因为相等,故结果为真,以整数输出是1。...
回复

使用道具 举报

千问 | 2011-12-28 13:51:24 | 显示全部楼层
优先级的问题,=优先级高,a=2赋值后,b与a同为2,结果为真。...
回复

使用道具 举报

千问 | 2011-12-28 13:51:24 | 显示全部楼层
如果是这样的话,编译无法通过,但如果是b==(a=2)的话,答案就是1了。...
回复

使用道具 举报

千问 | 2011-12-28 13:51:24 | 显示全部楼层
你这表达式不对吧。b == a = 2;这句话不报错吗?先执行 b == a,结果不是左值,无法做赋值运算啊。...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行