C语言中有bool吗?

2025-03-13 13:43:24
推荐回答(5个)
回答1:

C语言里面是没有bool(布尔)类型的,C++里面才有,C语言里面用数值0表示假,非0整数表示真。在C++里面可以使用bool类型。bool类型只有两个值:true =1 、false=0。

bool可用于定义函数类型为布尔型,函数里可以有 return TRUE; return FALSE 之类的语句。

布尔型运算结果常用于条件语句:if (逻辑表达式){如果是 true 执行这里;}else{如果是 false 执行这里;};

扩展资料

Boolean(布尔)数据在C++中使用内置类型bool表示。bool类型的变量只可能有两个值true或false,在现实世界中它用于表示“是”或“否”、“高”或“低”等这种只有两个状态的事物。例如用于表示检测某年是否润年的函数,其返回值类型显示只有两种情况“是”或“否”。 

bool IsLeapYear( const unsigned int year)

{   return (year % 4==0 && year % 100 !=0) || (year %400 ==0);  }

没有统一的布尔类型在大型的工程项中特别是用到第三方程序库时,可能使用不同的手段模拟布尔类型以提交代码的可读性,这样会使得代码有些混乱。C++引入了bool内置类型,解决了代码的一致性问题。

参考资料来源:百度百科——bool

回答2:

C中没有,在C++中有。在C++中,bool类型变量只有两个值,一个是true,表示“真”,另一个是false,表示“假”。
在C中,类似bool类型的使用非常普遍,对于if(exp),如果exp为零,则为“假”,非零则为“真”。事实上,在C++中,cout << ture;输出就是1,cout << false;的输出就是0。

回答3:

c语言中没有bool类型
但可以自己造
typedef int bool
#define true 1
#define false 0
#define yes 1
#define no 0
把这个做成头文件,要用时在包括进来就行了

回答4:

是你的这个宏#define bool (int) 有问题,(int)issorted;这个语句是不合法的!

//我是在c++编译器上实现的,可能是对的吧,你自己试试:
#include //c的输入输出使用这个
#include //这个是c++ 的 去掉就可以了
#include
#include //这是c的
#include //这个也是c的getch()函数的头文件

#define bool int
#define true 0x0001
#define false 0x0000

#define maxsize 32767
#define minimum 0
#define maximum 32767

void bubblesort(int k[],int n)
{
int i,j,temp;
bool issorted;
for (i=0;i issorted = true;
for (j=0;j if (k[j]>k[j+1]) {
temp = k[j];
k[j] = k[j+1];
k[j+1] = temp;
issorted = false;
}
}
if (issorted) break;
}
}

main()
{
int k[maxsize],counter=0,i=0,n;
printf("Please input the nums of data:");
scanf("%d",&n);
srand(time(NULL));
while (counter<=n) {
k[i]=minimum+rand()%(maximum-minimum);
counter++,i++;
}
bubblesort(k,counter);
printf("The sorted data(heapsort):\n");
for (i=1;i printf("%7d",k[i]);
if (i%10==0) printf("\n");
}
getch();
}

回答5:

C语言里面没有bool(布尔)类型
C++里面才引入bool类型
C语言里面用数值0表示假,非0整数表示真(一般是1)