该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

1. 我们自己定义的“仿布尔型”

在C99标准被支持之前,我们常常自己模仿定义布尔型,方式有很多种,常见的有下面两种:

view plaincopy to clipboardprint?

/* 第一种方法 */

#define TRUE 1

#define FALSE 0

/* 第二种方法 */

enum bool{false, true};

2. 使用_Bool

现在,我们可以简单的使用 _Bool 来定义布尔型变量。_Bool类型长度为1,只能取值范围为0或1。将任意非零值赋值给_Bool类型,都会先转换为1,表示真。将零值赋值给_Bool类型,结果为0,表示假。 下面是一个例子程序。

view plaincopy to clipboardprint?

#include

#include

int main(){

_Bool a = 1;

_Bool b = 2;    /* 使用非零值,b的值为1 */

_Bool c = 0;

_Bool d = -1;   /* 使用非零值,d的值为1 */

printf("a==%d,  \n", a);

printf("b==%d,  \n", b);

printf("c==%d,  \n", c);

printf("d==%d,  \n", d);

printf("sizeof(_Bool) == %d  \n", sizeof(_Bool));

system("pause");

return EXIT_SUCCESS;

}

运行结果如下:(只有0和1两种取值)

view plaincopy to clipboardprint?

a==1,

b==1,

c==0,

d==1,

sizeof(_Bool) == 1

3. 使用stdbool.h

在C++中,通过bool来定义布尔变量,通过true和false对布尔变量进行赋值。C99为了让我们能够写出与C++兼容的代码,添加了一个头文件。在gcc中,这个头文件的源码如下:(注,为了清楚,不重要的注释部分已经省略)

view plaincopy to clipboardprint?

/* Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.

This file is part of GCC.

c语言 int转bool,C语言的布尔类型(_Bool)【转】相关推荐

  1. C语言的布尔类型(_Bool)

    Technorati 标签: C,布尔,boolean,_Bool,stdbool.h 也许很多人都和我一样,不知道现在的C语言已经有了布尔型:从C99标准开始,类型名字为"_Bool&qu ...

  2. MySQL 中的boolean/bool/tinyint(1)表示布尔类型

    结论:boolean/bool/tinyint(1)都可以表示布尔类型,没有区别,使用1 和0 表示真和假 数据库设计的时候经常会用到只有真假两种情况的字段,在java中有boolean类型 在mys ...

  3. c语言int转字符串_C语言零基础入门-指针-05

    C语言零基础入门-指针-05 本节要点: 1,字符指针. 2,字符串指针. 3,指针的参数传递 4,多重指针 01. 字符指针 这里的定义与前面的基本一样,所谓的字符指针就是这个指针指向的是一个字符型 ...

  4. c语言int x=3,C语言 设有 int x=11,则表示式((x++)*1/3)的值是几,为啥子

    C语言 设有 int x=11,则表示式((x++)*1/3)的值是几,为啥子以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下 ...

  5. c语言 int是signed,C语言的补码表示和unsigned及signed的的转换

    这东西实际编程时一直无视的,范围小了就换个大点的表示形式,但是总觉得基础知识还是掌握得好,免得到时候用移位运算或类型转换或笔试题时要花时间想. C语言的基本类型有char.int.float.doub ...

  6. c语言int超出范围字符串,Go返回int64类型字段超出javascript Number范围的解决方法...

    Go返回int64类型字段超出javascript Number范围的解决方法 最近在项目中,一个go服务给前端提供了一个接口,返回json格式数据,其中Int64字段会超出javascript Nu ...

  7. c语言 整型转bool,C语言的布尔类型(_Bool)【转】

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 1. 我们自己定义的"仿布尔型" 在C99标准被支持之前,我们常常自己模仿定义布尔型,方式有很多种,常见的有下面两种: view pl ...

  8. c语言 bool转string,C语言的布尔类型(_Bool)【转】

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 1. 我们自己定义的"仿布尔型" 在C99标准被支持之前,我们常常自己模仿定义布尔型,方式有很多种,常见的有下面两种: view pl ...

  9. c语言int grade 5,C语言补考!!!

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include struct student { int id; char name[20]; int grade; }student ...

  10. c语言int转换为十六进制,C语言将int型数据转换为十六进制的字符串

    方法一: int i =0; char * inttohex(int aa,char *buffer) { if (aa < 16) //递归结束条件 { if (aa < 10) //当 ...

最新文章

  1. HTML 5 令人期待的 5 项功能
  2. C/C++ 语言的常用开发工具下载
  3. django 获取环境变量_Django 安装和配置环境变量
  4. 关于卡巴斯基6.0自动升级时报错后自动退出的情况
  5. P1943-LocalMaxima_NOI导刊2009提高(1)【数论】
  6. 广西2021普通高考成绩查询,2021广西高考成绩什么时候出
  7. 服务化改造实践(二)| Dubbo + Kubernetes
  8. windows 2008 终端服务器配置,windows 2008终端服务器设置
  9. java模块详解_Spring之IOC核心模块详解
  10. 程序防止SqlServer使用SqlServer Profiler跟踪
  11. 计算机签到程序,基于spring boot技术的签到管理系统的设计与实现计算机专业.doc...
  12. spring Access denied for user ‘xx‘@‘localhost‘ (using password: YES)
  13. Linux内核CPU负载均衡机制
  14. Visio Professional 2016 破解教程
  15. Tomcat starup.bat脚本开机自启动
  16. 拼音模糊查询+java,Java将中文转换成拼音,用于字母的模糊查询
  17. 神舟战神笔记本Z7M-CT7NA开机进入Bios方法
  18. 百家争鸣的低代码平台
  19. NVIDIA显卡3D设置 让你的游戏得到最佳效果
  20. 数据分析:当回音哥唱music时,他在唱些什么~~~

热门文章

  1. 零基础学习嵌入式给出的10条中肯的建议
  2. requirejs教程(一):基本用法
  3. IOS 线程的总结(及cell的图片下载)
  4. 网线连接电脑共享文件传递
  5. 在emacs编辑的文本中插入图片 并直接在文本里显示该图片(转载)
  6. HDU1754 I Hate It(树状数组 or 线段树)
  7. sql server 2000:不能打开到主机的连接,在端口1433:连接失败
  8. Google的21道面试问题
  9. html给看板娘添加语音,用html代码给网页加个live2d看板娘吧
  10. 计算机 管理 被停用,如果电脑上出现“你的账户已被停用请向系统管理员咨询”怎么办?...