c语言 整型转bool,C语言的布尔类型(_Bool)【转】
該樓層疑似違規(guī)已被系統(tǒng)折疊?隱藏此樓查看此樓
1.?我們自己定義的“仿布爾型”
在C99標(biāo)準(zhǔn)被支持之前,我們常常自己模仿定義布爾型,方式有很多種,常見的有下面兩種:
view?plaincopy?to?clipboardprint?
/*?第一種方法?*/
#define?TRUE?1
#define?FALSE?0
/*?第二種方法?*/
enum?bool{false,?true};
2.?使用_Bool
現(xiàn)在,我們可以簡單的使用?_Bool?來定義布爾型變量。_Bool類型長度為1,只能取值范圍為0或1。將任意非零值賦值給_Bool類型,都會先轉(zhuǎn)換為1,表示真。將零值賦值給_Bool類型,結(jié)果為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;
}
運行結(jié)果如下:(只有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為了讓我們能夠?qū)懗雠cC++兼容的代碼,添加了一個頭文件。在gcc中,這個頭文件的源碼如下:(注,為了清楚,不重要的注釋部分已經(jīng)省略)
view?plaincopy?to?clipboardprint?
/*?Copyright?(C)?1998,?1999,?2000?Free?Software?Foundation,?Inc.
This?file?is?part?of?GCC.
總結(jié)
以上是生活随笔為你收集整理的c语言 整型转bool,C语言的布尔类型(_Bool)【转】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: python3.8.2中文手册chm_3
- 下一篇: 【测试工具】禅道项目管理工具设置触发邮箱
