C语言中有bool是关键字,但是却不能作为返回类型存在
如图,bool不是类型???那么它是什么呢作用是什么呢???定义了一下也不是一种类型
于是乎,想要有布尔类型应该怎么办呢?比如下面这个例子要用到大量的布尔类型。(那就换一种语言吧 那就自己定义一个叭。)
来用结构体
众所周知,枚举类型(√)中可以定义两个值,不指定值时默认为0,1,2…(很多其他的博客有解释得很清楚,这里不做解释)
下面这两行就是用枚举类型来定义布尔类型啦
什么?你问怎么用吗??下面这个例子看看其中的一个函数和主函数应该就清晰了叭。
#include<stdio.h>
typedef enum boolen {
false,true
}boolen;
//合取符
enum boolen conjunction(boolen a,boolen b){
if(a == 1&&b == 1)
{
return 1;
}
else
{
return 0;
}
}
//析取符
boolen disjunction(boolen a,boolen b){
if(a == 0&&b == 0)
{
return 0;
}
else
{
return 1;
}
}
//非
boolen negate(boolen a){
if(a == 1)
{
return 0;
}
else
{
return 1;
}
}
//等价
boolen equal(boolen a,boolen b){
if(a == b)
{
return 1;
}
else
{
return 0;
}
}
int main(){
boolen a,b;
scanf("%d %d",&a,&b);
printf("合取真值%d\n",conjunction(a,b));
printf("析取真值%d\n",disjunction(a,b));
printf("a取非真值%d\n",negate(a));
printf("等值真值%d\n",equal(a,b));
return 0;
}