2025年3月24日 星期一 甲辰(龙)年 月廿三 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > C语言

C语言的布尔类型(true 与 false)

时间:03-01来源:作者:点击数:42

C 语言标准(C89) 没有定义布尔类型,如果你使用 true 和 false,会出现以下错误:

  • infinite.c:5:12: error: use of undeclared identifier 'true'
  • while (true) {
  • 1 error generated.
  • make: *** [infinite] Error 1

我们可以借助 C 语言的宏定义来哦设置:

  • //宏定义布尔类型
  • #define BOOL int
  • #define TRUE 1
  • #define FALSE 0
  • //定义一个布尔变量
  • BOOL flag = FALSE;

也可以通过枚举类来定义:

  • typedef enum
  • {
  • true=1, false=0
  • }bool;

实例

  • #include <stdio.h>
  • //计算n!,n的值在main中定义
  • int main(void)
  • {
  • int n = 10; //计算叠乘数
  • int sum = 1; //用来存放叠乘的结果
  • typedef enum
  • {
  • true=1, false=0
  • }bool;
  • bool flag = false; //叠乘标记
  • int num = n; //循环次数
  • while( !flag )
  • {
  • sum = sum * (num--);
  • //当num=1时结束循环
  • if( num == 1)
  • {
  • flag = true;
  • }
  • }
  • printf ("%d的叠乘值为 %d \n", n, sum);
  • return 0;
  • }

输出结果为:

  • 10的叠乘值为 3628800

C99 还提供了一个头文件 <stdbool.h> 定义了 bool 代表 _Bool,true 代表 1,false 代表 0。只要导入 stdbool.h ,就能非常方便的操作布尔类型了。

实例

  • //导入 stdbool.h 来使用布尔类型
  • #include <stdbool.h>
  • #include <stdio.h>
  • //计算n!,n的值在main中定义
  • int main(void)
  • {
  • int n = 10; //计算叠乘数
  • int sum = 1; //用来存放叠乘的结果
  • bool flag = false; //叠乘标记
  • int num = n; //循环次数
  • while( !flag )
  • {
  • sum = sum * (num--);
  • //当num=1时结束循环
  • if( num == 1)
  • {
  • flag = true;
  • }
  • }
  • printf ("%d的叠乘值为 %d \n", n, sum);
  • return 0;
  • }

输出结果为:

  • 10的叠乘值为 3628800
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门