打印
[嵌入式linux]

C语言,#define FALSE (0 == 1)问题

[复制链接]
2703|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
aladiu|  楼主 | 2010-11-26 21:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#define TRUE (1 == 1) #define FALSE (0 == 1) 上面的(1 == 1)是1吗?? 上面的(0 == 1)是0吗???
#define TRUE (1 == 1) #define FALSE (0 == 1) 上面的(1 == 1)是1吗?? 上面的(0 == 1)是0吗??? 怎么理解?C语言没有布尔类型啊???求救,谢谢。。
char allocated ;allocated  = TURE;allocated = FALSE;可以这么赋值吗??? 答案是可以的,但为什么呢??能不能有启发点的解释下。。 希望经验丰富的C程序员回答下,谢谢

相关帖子

沙发
hgjinwei| | 2010-11-29 12:40 | 只看该作者
有些编译器会将0作为布尔假,其他作为布尔真;
有些编译器会将正数作为布尔真,其他作为布尔假;
#define TRUE (1 == 1)
#define FALSE (0 == 1)
是将布尔值的决定权交给编译器。

PS : 猜的。

使用特权

评论回复
板凳
liang7143| | 2010-11-29 13:06 | 只看该作者
代码有更好的移植性

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

1

帖子

1

粉丝