c语言中非正数就是代表假吗

loveqise 2016-07-12 07:55:48
!8.3、!5的运算结果都是假吗?可以用while语句判断?
...全文
771 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hijack00 2016-08-28
  • 打赏
  • 举报
回复
早期的C语言标准中并没有规定bool类型以及true和false的值,这些值都是程序员自己用#define或者enum自己定义的,一般定义true为1,false为0。而如果着眼于C语言标准,总结一下其中的“假”有以下几种形式: 1. 通过逻辑运算符得到的结果,可以是真或者假。例如 (a < 3) && ( a > 0) 2. 通过关系运算符得到的结果,可以是真或者假。例如 a < 3 3. 还有一种就是更自由的形式。例如 char *p = (char *) malloc(10); if (fp) {} 这里fp直接就被用来作为逻辑值了。其实这里的fp等价于fp != NULL。 也就是这种情况下一般是“零值”(整数0,逻辑表达式或者关系表达式的“假”,或者是空指针,这些都可以看做C语言中的零值)被当做假,非零值就是真。 如果需要确切知道真或者假对应的整型值是0,整数还是负数,可以自己编个程序打印出来测试一下就可以了,例如: int a = 4; printf("%d\n", a < 3); 不同编译器的结果可能不同。
无语_ 2016-07-14
  • 打赏
  • 举报
回复
c语言中除了0其他都是真…
pinkfIoyd 2016-07-13
  • 打赏
  • 举报
回复
0为假,其余为真。
mrliu_qy 2016-07-12
  • 打赏
  • 举报
回复
非0为真,0为假。 记住这句话就好了 还有 !8 !5是假。 因为8 和5 是真,他们的非就是假啦。
小灸舞 版主 2016-07-12
  • 打赏
  • 举报
回复
0才是假,而不是负数
paschen 2016-07-12
  • 打赏
  • 举报
回复
是的,是假 但 ~运算符 则不一定
lm_whales 2016-07-12
  • 打赏
  • 举报
回复
C 中 !(-1),!(-2),!(1),!(2) 都是 假 ,也就是 0 !0 为真 -1,-2,1,2 都是真(作条件时,相当于转换为 1),0 为假 浮点数,也跟整数相似
lm_whales 2016-07-12
  • 打赏
  • 举报
回复
C中,非0 代表真0 代表假

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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