关于C语言中的真假问题

来源:百度知道 编辑:UC知道 时间:2024/07/04 12:07:42
在C语言中,1是真,0是假。
那么是非0为真还是非1为假呢

非0为真
这个非1呢~~~
非1就是 不是1 那不是1可能是0,2,3等等所以不一定 也没有这么说的

在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为真