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 這裡我所說的 輸入 意思是 當在乙個需要布林值的地方,也就是其它型別轉化為布林型...