📜  在C中使用bool

📅  最后修改于: 2021-05-25 23:49:47             🧑  作者: Mango

先决条件: C++中的布尔数据类型
C语言的C99标准支持布尔变量。与C++不同,在C++中不需要使用头文件来使用bool,必须包含头文件“ stdbool.h”才能在C语言中使用bool。如果将以下程序另存为.c,则它将不会编译,但是如果将其保存,作为.cpp,它将正常工作。

C
int main()
{
  bool arr[2] = {true, false};
  return 0;
}


C
#include 
int main()
{
    bool arr[2] = { true, false };
    return 0;
}


C
// C implementation of the above idea
#include 
  
// Declaration of enum
typedef enum { F, T } boolean;
  
int main()
{
    boolean bool1, bool2;
    bool1 = F;
  
    if (bool1 == F) {
        printf("bool1 is false\n");
    }
    else {
        printf("bool1 is true\n");
    }
    bool2 = 2;
    if (bool2 == F) {
        printf("bool2 is false\n");
    }
    else {
        printf("bool2 is true\n");
    }
}


如果我们在上述程序中包含头文件“ stdbool.h”,它将作为C程序正常运行。

C

#include 
int main()
{
    bool arr[2] = { true, false };
    return 0;
}

使用C语言中的enum函数还有另一种方法。您可以使用枚举创建布尔值。将创建一个枚举为bool,然后将枚举的元素分别设置为True和False。 false将在第一个位置,因此它将保持0,而true将在第二个位置,因此将获得值1。

下面是上述想法的实现:

C

// C implementation of the above idea
#include 
  
// Declaration of enum
typedef enum { F, T } boolean;
  
int main()
{
    boolean bool1, bool2;
    bool1 = F;
  
    if (bool1 == F) {
        printf("bool1 is false\n");
    }
    else {
        printf("bool1 is true\n");
    }
    bool2 = 2;
    if (bool2 == F) {
        printf("bool2 is false\n");
    }
    else {
        printf("bool2 is true\n");
    }
}
输出
bool1 is false
bool2 is true
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。