C语言标准(C89)没有定义布尔类型,如果你使用true和false,会出现以下错误:
truefalse错误结果
infinite.c:5:12:error:useofundeclaredidentifier'true'
while(true){
1errorgenerated.
make:***[infinite]Error1
我们可以借助C语言的宏定义来哦设置:
//宏定义布尔类型
#defineBOOLint
#defineTRUE1
#defineFALSE0
//定义一个布尔变量
BOOLflag=FALSE;
也可以通过枚举类来定义:
typedefenum
{
true=1,false=0
}bool;
truefalse实例
#include
//计算n!,n的值在main中定义
intmain(void)
{
intn=10;//计算叠乘数
intsum=1;//用来存放叠乘的结果
typedefenum
{
true=1,false=0
}bool;
boolflag=false;//叠乘标记
intnum=n;//循环次数
while(!flag)
{
sum=sum*(num--);
//当num=1时结束循环
if(num==1)
{
flag=true;
}
}
printf("%d的叠乘值为%d\n",n,sum);
return0;
}