一. 布尔类型——适用于判别真假的类型
说明:布尔类型是一种形式(int)的别名:
int ——> bool
True ——> 1 (其他 非0 都是 1 )
False ——> 0
对应:0为假,非零为真
1. 第一种方式 ——使用
C89标准,使用宏定义(#define )
格式: #define BOOL int
__________________________________ TRUE、FALSE只是相当于一个常量名,使用其他标识符也可以的(宏定义标识符常量时,常量名一般使用大写字母:为了和变量区别开)
#define TRUE 1
#define FALSE 0
2. 第二种方式
C99标准,添加 _Bool 类型
格式: _Bool a = -6; // a 为变量名,非零为真
3. 第三种方式
C99标准,标准库头文件 <stdbool.h>
bool true false
格式:#define <stdbool.h>
int main(){
bool is_ok = true; // is_ok是变量(任意起名),true也可以被任意修改(不过会被系统修改,修改遵循(0为0,非零为1)
}
总结:三种方式都可以修改布尔类型的变量,不过分为两种:
1、第一种为一种,可以直接修改布尔类型变量的值
2、第二、三为一种,修改时:0为0,其他非零都为1
eg:
第一种 使用宏定义
#include <stdio.h>
#define BOOL int
#define TRUE 1
#define FALSE 0
int main()
{
//定义布尔类型的变量
BOOL is_ok =TRUE;
BOOL is_pass = FALSE;
//is_pass可以被修改,可以被修改为任何值(一个原则:非零都为1)
is_pass =-6;
printf("is_ok=%d, is_pass=%d \n",is_ok,is_pass);
//条件判断
if(is_ok)
{
printf("OK! \n");
}
else
{
printf("不OK!\n");
}
if(is_pass)
{
printf("PASS!\n");
}
else
{
printf("不PASS!\n");
}
}
第二种 添加 _Bool 类型
#include <stdio.h>
int main()
{
//定义布尔类型的变量
_Bool is_ok = 1;
_Bool is_pass = 0;
//is_pass会被改变的,会根据0为假非零为真(把非零的值都转变为1),只能是0/1
is_pass = -6; // is_pass:1
printf("is_ok=%d, is_pass=%d \n", is_ok, is_pass);
// 条件判断
if (is_ok)
{
printf("OK!\n");
}
else
{
printf("不OK!\n");
}
if (is_pass)
{
printf("PASS!\n");
}
else
{
printf("不PASS!\n");
}
return 0;
}
第三种 标准库头文件 <stdbool.h>
#include <stdio.h>
#include <stdbool.h>
int main()
{
// 定义布尔类型的变量
bool is_ok = true;
bool is_pass = false;
is_pass = -6;
printf("is_ok=%d, is_pass=%d \n", is_ok, is_pass);
// 条件判断
if (is_ok)
{
printf("OK!");
}
else
{
printf("不OK!");
}
if (is_pass)
{
printf("PASS!");
}
else
{
printf("不PASS!");
}
}
标签:ok,int,pass,C语言,printf,类型,define,布尔
From: https://www.cnblogs.com/petard/p/18166692