_Bool 与 bool 其实是一样的。
C语言中 _Bool 与 bool (布尔类型)是专门用来表示真假的。
头文件:#include <stdbool.h>
布尔类型的变量只有2种取值,true和false。
用法举例:打印出100~200之间的素数。
#include <stdio.h>
#include <math.h>
int is_prime(int n)
{
int j = 0;
for (j = 2; j <= sqrt(n); j++)
{
if (n % j == 0)
//判断是否为素数:
//如果不是那么就返回0;是素数就返回1
return 0;//直接结束这个函数
}
return 1;
}
int main()
{
int count = 0;
int i = 0;
for (i = 100; i <= 200; i++)
{
if (is_prime(i))
{
count++;
printf("%d ", i);
}
}
printf("\n一共有%d个素数\n", count);
return 0;
}
现在利用布尔类型,使其如果是素数那就返回true,不是素数那就返回false。
#include <stdio.h>
#include <math.h>
#include <stdbool.h>//布尔类型的头文件
_Bool is_prime(int n)
{
int j = 0;
for (j = 2; j <= sqrt(n); j++)
{
if (n % j == 0)
//判断是否为素数:
//如果是那么就返回1;否则就返回2
return false;//直接结束这个函数
}
return true;
}
int main()
{
int count = 0;
int i = 0;
for (i = 100; i <= 200; i++)
{
if (is_prime(i))
{
count++;
printf("%d ", i);
}
}
printf("\n一共有%d个素数\n", count);
return 0;
}