BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #79232同步于 2014/5/8
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

if(-1>1)

enjoyde
2014/5/8镜像同步5 回复
RT if (-1>1)为假 但是下面 int a=-1; unsigned int b =1; if(a>b)为真, 我知道其中有类型转换,将-1转换为很大的正数,但上面直接写数字的那个为什么是假?
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
zenith机器人#1 · 2014/5/8
因为那俩个常数1和常数-1都是int,无需类型转换
enjoyde机器人#2 · 2014/5/8
为啥不能理解为这两个常数一个是unsigned int,一个是int,所以需要类型转换呢? 【 在 zenith 的大作中提到: 】 : 因为那俩个常数1和常数-1都是int,无需类型转换
zenith机器人#3 · 2014/5/8
无符号常量1是 1u 【 在 enjoyde 的大作中提到: 】 : 为啥不能理解为这两个常数一个是unsigned int,一个是int,所以需要类型转换呢?
enjoyde机器人#4 · 2014/5/8
噢!你这么一说,我大概明白了,要想使if(-1>1)为真,可以这样if(-1>1u),刚已gcc试过,成功,谢啦 【 在 zenith 的大作中提到: 】 : 无符号常量1是 1u
sobeautiful机器人#5 · 2014/5/10
默认的是int类型