关于C语言中的真假问题

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

第1个回答  2009-01-29
在VC6.0环境下,只有值为0时才是假,其余的数,如-1,-10,1,10等非零整数都是真,而加上!号后,真假倒置。所以:
!0为真,!1为假,!(-1)为假,!(10)为假,可用如下程序证明这个观点:

#include <iostream.h>

int main(int argc, char* argv[])
{
for(int i=-10;i<10;i++)
{
if(i)
{
cout<<i<<"为真"<<endl;
}
else
{
cout<<"!"<<i<<"为真"<<endl;
}
}

for(i=-10;i<10;i++)
{
if(!i)
{
cout<<"!"<<i<<"为真"<<endl;
}
else
{
cout<<i<<"为真"<<endl;
}
}
return 0;
}

输出:
-10为真
-9为真
-8为真
-7为真
-6为真
-5为真
-4为真
-3为真
-2为真
-1为真
!0为真
1为真
2为真
3为真
4为真
5为真
6为真
7为真
8为真
9为真
-10为真
-9为真
-8为真
-7为真
-6为真
-5为真
-4为真
-3为真
-2为真
-1为真
!0为真
1为真
2为真
3为真
4为真
5为真
6为真
7为真
8为真
9为真
Press any key to continue
第2个回答  2009-01-29
只要是0的肯定为假!非0为真!
比如:a=3;系统就真处理!
第3个回答  2009-01-29
0是假,非0为真
也就是说,0是假,1、2、3、4…………都是真
第4个回答  2009-01-29
0为假,非0为真
第5个回答  2009-01-29
非0为真
相似回答