在C语言中,NULL、TRUE、FALSE的值各是多少?

mbctb 2010-01-14 10:30:26
如题,我一直搞不太懂这些常量的数值。我记得FALSE是0,而凡是非零值都可以作为TRUE,是吗?

那么NULL呢?
...全文
6364 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2010-01-14
  • 打赏
  • 举报
回复
以下内容摘自"C:\Program Files\Microsoft Visual Studio\VC98\Include\windef.h"
#ifndef NULL
#ifdef __cplusplus
#define NULL 0
#else
#define NULL ((void *)0)
#endif
#endif

#ifndef FALSE
#define FALSE 0
#endif

#ifndef TRUE
#define TRUE 1
#endif
zhteric 2010-01-14
  • 打赏
  • 举报
回复
很好,我终于弄懂了,谢谢
joe33342 2010-01-14
  • 打赏
  • 举报
回复
null 是 0
fasle 是0,
ture 非0,一般是1,但不一定就是1.
  • 打赏
  • 举报
回复
NULL是0,FALSE是0.
TRUE是非零即可。
pady_pady 2010-01-14
  • 打赏
  • 举报
回复
#define TRUE 1
#define FALSE 0
#define NULL 0

这都是原定义,所用用 TRUE宏的地方就被替换成1,
切记TRUE只指1
ZXW0521 2010-01-14
  • 打赏
  • 举报
回复
null 是给指针用的 是 0
fasle 是0,
ture 非0,一般是1
tan870426 2010-01-14
  • 打赏
  • 举报
回复
NULL FALSE都是0
TRUE是非零值 不确定
arong1234 2010-01-14
  • 打赏
  • 举报
回复
NULL=0
FALSE=0
TRUE记得是-1,但是如果用于if语句中,任何非0值都是true。但是TRUE一个宏,无法覆盖所有情况。

所以切记不要写出TRUE == (表达式)这样的判断,因为这样的判断往往都是错误的
举例来说,

int bitmask = 0x0010000;
if(~bitmask) //这是true的
if(TRUE == ~bitmask) //虽然你想要达到的目的和上面一样,但是实际这会是false

15,447

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧