//C语言
#include<stdio.h>
enum BOOL{
FALSE, TRUE
};
int main(){
enum BOOL a = FALSE;
if(!a)
printf("a is false\n");
else
printf("a is true\n");
printf("sizeof(a) = %d\n", sizeof(a)); //sizeof(a) = 4
}
C语言不存在bool类型,C语言中的真用0表示,假用非0值表示,上面通过枚举类型enum自定义一个布尔类型。
//C++语言
#include<iostream>
#include<stdlib.h>
#include<stdio.h>
using namespace std;
enum BOOL{FALSE, TRUE};
int main(){
bool a = false;
if(!a)
printf("a is false\n");
else
printf("a is true\n");
printf("sizeof(a) = %d, sizeof(bool) = %d\n", sizeof(a), sizeof(bool)); //sizeof(a) = 1, sizeof(bool) = 1
BOOL b = TRUE;
if(!b)
printf("b is true\n");
else
printf("b is false\n");
printf("sizeof(b) = %d, sizeof(BOOL) = %d\n", sizeof(b), sizeof(BOOL)); //sizeof(b) = 4, sizeof(BOOL) = 4
}
注意:针对C语言中的enum定义,在使用时,必须加enum BOOL才能使用,而在C++中可以直接使用BOOL。