关于C语言中的真假问题

在C语言中,1是真,0是假。
那么是非0为真还是非1为假呢

在计算机的运算机制实际是二进制的。这就决定了每一位(一字节是8位)能表示一对状态(既真和假)。也就是说他们只能出现0和1两个数字。
既然1是真,0是假。那么非0肯定就是1也就是说是真。而非1肯定就是0,也就是假了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-01-30
真假,01,定义看头文件里是怎么定的,并无统一标准。

如果大家都用头文件:
#include <windows.h>
0 为假(FALSE), 1 为真(TRUE)。
非0 = !0 = 1 = 真(TRUE)。
非1 = !1 = 0 = 假(FALSE).
自己可以打印出来看

#include <windows.h>
printf("%d\n",TRUE);
printf("%d\n",FALSE);
printf("%d\n",!0);
printf("%d\n",!1);

搞不清0还是1,条件语句写:
if ( 1 == 1) {....}

if ( 0 == 0) {....}
那么条件就是真。

无限循环,满足条件break:
while ( 1 == 1) {
if (....) break;
}
第2个回答  2009-01-29
判断时0位假 否则为真。

但是布尔运算的结果1为真。
第3个回答  2009-01-29
非0为真
这个非1呢~~~
非1就是 不是1 那不是1可能是0,2,3等等所以不一定 也没有这么说的本回答被提问者采纳
第4个回答  2009-01-29
在逻辑上,
1是真
0是假
非真即假
非假即真

计算机判断时,
非0即真,
0即假。

不知道这样回答楼主满意不?

我再举个例子吧,
do{}while(1);
do{}while(!0);
do{a=3}while(a)
以上各语句等价,都是永无止尽的空循环。

明白?
相似回答