[嵌入式linux] C语言,#define FALSE (0 == 1)问题

[复制链接]
 楼主| 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

粉丝
快速回复 在线客服 返回列表 返回顶部

0

主题

1

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部