c bool函数怎么用

不同于C语言的TRUE、FALSE,Objective-C 中使用YES、NO来表示BOOL类型。BOOL由8位的unsigned char型www.58yuanyou.com数值表示,8位全0就是NO,否则就是YES。知道了这点以后,使用BOOL值的时候就要注意了,比如下述代码:

BOOL result = [self isValid];

if (result == YES) {

//do something

}

就存在隐患,因为,不www.58yuanyou.com是NO(8位不全为0)就表示YES,result的值可能也表示YES,但re//www.58yuanyou.comsult并不一定等于YES!!

更直白的例子:

BOOL result = 8960;

if (result == YES) {

printf("YES");

}

这里会输出YES吗?不会的。为什么呢?8960是非0值,它不是逻辑真吗?还记得上面说过BOOL是一个8位的整数吗?因为89原由网60用二进制表示是大于8位的,也就是说高位无效,只保留8960 的低八位,8960的低八位恰好全都是0,因此result就是NO 了。

总结一下,非零值未必是BOOL的YES,但是0一定是NO。

上述判断正确的写法应该是:

BOOL result = [self isValrRXHMFid];

if (result) {

//do something

}

蓝鸥iOS开发,国内口碑最好的iOS培训学院,详情请咨询官网http://www.lanou3g.com我们是 一群热爱IT的年轻人,如果你也爱IT、爱iOS开发,欢迎前来蓝鸥中心参观学习,让我们共同为梦想发声。

内容版权声明:除非注明原创否则皆为转载,再次转载请注明出处。

文章标题: c bool函数怎么用

文章地址: www.58yuanyou.com/jiqiao/131415.html

相关推荐