C語言的布林型別

2021-08-21 15:37:22 字數 946 閱讀 5976

c語言的布林型別

在c語言標準(c89)沒有定義布林型別,所以c語言判斷真假時以0為假,非0為真。所以我們通常使用邏輯變數的做法:

//

定義乙個int型別變數,當變數值為0時表示false,值為1時表示true

int flag;

flag = 0;

//......

flag = 1;

if( flag )

但這種做法不直觀,而且沒有明確flag一定是布林值。所以我們又借助c語言的巨集定義:

//

巨集定義布林型別

#define bool int

#define true 1

#define false 0

//定義乙個布林變數

bool flag = false;

這種方法雖然直觀,但依然是換湯不換藥,變數flag在編譯器看來依然是int型別。

新版本總會改進一些不好的地方,所以在最新的c語言標準(c99)解決了布林型別的問題。c99提供了_bool 型,所以布林型別可以宣告為 _bool flag。

_bool依然仍是整數型別,但與一般整型不同的是,_bool變數只能賦值為0或1,非0的值都會被儲存為1。

c99還提供了乙個標頭檔案 定義了bool代表_bool,true代表1,false代表0。只要匯入 stdbool.h ,就能非常方便的操作布林型別了。

//

匯入 stdbool.h 來使用布林型別

#include

#include

//計算n!,n的值在main中定義

int main(void)

}printf ("

%d的疊乘值為 %d \n

", n, sum);

return

0;}

c語言的布林型別

C語言之布林型別

c 語言標準 c89 沒有定義布林型別,所以 c 語言判斷真假時以0為假,非0為真但這種做法不直觀,所以我們可以借助 c 語言的巨集定義 c 語言標準 c99 提供了 bool型,bool仍是整數型別,但與一般整型不同的是,bool變數只能賦值為0或1,非 0的值都會被儲存為1,c99還提供了乙個標...

c語言中的布林型別

在c語言標準 c89 沒有定義布林型別,所以c語言判斷真假時以0為假,非0為真。所以我們通常使用邏輯變數的做法 定義乙個int型別變數,當變數值為0時表示false,值為1時表示true int flag flag 0 flag 1 if flag 但這種做法不直觀,而且沒有明確flag一定是布林值...

C語言的布林型別 Bool

也許很多人都和我一樣,不知道現在的c語言已經有了布林型 從c99標準開始,型別名字為 bool 在此之前的c語言中,使用整型int來表示真假。在輸入時 使用非零值表示真 零值表示假。在輸出時 真的結果是1,假的結果是0 這裡我所說的 輸入 意思是 當在乙個需要布林值的地方,也就是其它型別轉化為布林型...