在C语言中使用bool
C语言的C99标准支持布尔变量。在C++中不需要使用头文件来使用bool,在C语言中必须包含头文件“ stdbool.h”才能使用bool。如果将以下程序保存为.c文件,则不能进行编译。
int main()
{bool arr[2] = {true, false};
return 0;
}
如果在上述程序中包含头文件“ stdbool.h”,它将作为C程序正常运行。
例1:
#include <stdbool.h>
int main()
{bool arr[2] = { true, false };return 0;
}
在C语言中使用枚举函数还有一种方法。可以使用enum创建bool。创建一个enum作为bool,然后将enum的元素分别设置为True和False。false将位于第一个位置,因此它将保持0,true将位于第二个位置,因此它将获得值1。
下面是上述思路的实现:
例2:
// C implementation of the above idea
#include <stdio.h>// 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
在enum类型中,第一个枚举成员的默认值为整数0,后续枚举成员的值为前一个成员的值+1,所以在上例中,F的值为0,T的值为1。查看系统types.h文件,可以得知bool就是int中的1和0:
typedef int bool;#ifndef true
#define true 1
#endif#ifndef false
#define false 0
#endif
#endif /* _TYPES_H_ */
但bool和int的工作方式又有不同,示例如下。
例3:
#include <stdbool.h>
#include <stdio.h>int main(void)
{printf("(bool)0.5 is %d\n", (bool)0.5);printf("(int)0.5 is %d\n", (int)0.5);
}
输出:
(bool)0.5 is 1
(int)0.5 is 0
参考文档
[1]GeeksforGeeks.Use of bool in C[EB/OL].https://www.geeksforgeeks.org/bool-in-c/,2020-10-14.
在C语言中使用bool相关推荐
- c语言中使用bool_在C语言中使用bool
c语言中使用bool First, understand the bool in C++ programming language. In C++ programming, "bool&qu ...
- c语言 bool 大小写,在C语言中使用bool
C语言的C99标准支持布尔变量.在C++中不需要使用头文件来使用bool,在C语言中必须包含头文件" stdbool.h"才能使用bool.如果将以下程序保存为.c文件,则不能进行 ...
- C语言中定义bool类型
C语言里面是没有bool(布尔)类型的,C++里面才有,这就是说,在C++里面使用bool类型是没有问题的.bool类型有只有两个值:true =1 .false=0. 不过 C语言中可以自己定义咯 ...
- C语言中定义bool类型出错
今天早上用C语言写断链表,定义了一个bool类型 发现提示未定义标识符然后去度娘上查了一下发现 C语言没有BOOL类型变量 boolean类型是C++所独有的 下面说说解决办法: 方法一: 更改文件后 ...
- C语言中实现bool(布尔型变量)
C语言中,本身没有bool(布尔型变量).但是我们可以用其他方式来模拟. 一.如果简单的使用char.int.long变量来表示0/1,则太浪费空间了. 二.这里介绍一种巧妙的方式实现bool,高空间 ...
- c 语言bool 类型数据_C ++中的bool数据类型
c 语言bool 类型数据 In C++ programming language, to deal with the Boolean values – C++ added the feature o ...
- 有关bool(布尔)类型在C语言中的应用
文章目录 前言 一.bool类型是什么? 二.使用举例 总结 前言 由于学习过程中接触到了bool类型,产生了浓厚的兴趣,便写下这一篇文章来阐述bool类型的大概情况. 一.bool类型是什么? bo ...
- C语言中整型和bool的转换,bool和BOOL类型知识集合
知识点一.C语言中有bool类型吗? 之前一直都没有注意到,最近在用C语言写DSP算法时,偶然间发现我函数中定义的bool类型的变量在VC6.0(我主要用它来检查一下语法错误)中编译居然报错了,说是b ...
- 如何用C语言改变宏定义的大小,C语言中宏定义使用的小细节
C语言中宏定义使用的小细节 #pragma#pragma 预处理指令详解 在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作.#p ...
最新文章
- git 上传项目到linux仓库_「成都校区」Git使用快速入门
- 科大星云诗社动态20210827
- html5 地图效果,html5 echarts图表插件炫光的分布地图动画特效
- byte数组添加数据_C#基于S7协议实现对PLC中DB块字节数据的获取及自定义textbox实现数据解析...
- ORA-00600 [4194] 故障处理
- 职场没有岁月静好,只有不进则退
- java的trans文件大小写_文件大小写转换与后缀不变
- 解决无法加载虚拟仿真实验unity3d插件的“failed to update unity web player”问题2019年12月27日
- 微信公众服务号如何快速申请注册并认证开通支付功能
- WebSocket多人聊天室
- php网站微博帐号登录代码,redis+php实现微博(一)注册与登录功能详解
- 两条纵坐标折线图绘制
- linux ubuntu实验
- 康奈尔大学计算机硕士要求,申请康奈尔大学计算机硕士需要什么条件呢
- 维吉尼亚密码破解(Python完整详细源码)
- 《谍影重重4》虎头蛇尾
- 花2个月面过华为测开岗,拿个30K不过分吧?
- David P.Williams论文系列 合成孔径声纳图像快速目标检测:一种新算法及大规模性能分析
- 商业模式新生代之开放商业模式
- JAVA poi合并任意列 相同数据单元格