2 回答

TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個(gè)贊
包含<stdbool.h>標(biāo)題
#include <stdbool.h>
int main(void){
bool b = false;
}
宏true和false擴(kuò)展到1和0分別。
節(jié)7.16 布爾類型和值< stdbool.h >
1標(biāo)頭定義了<stdbool.h>四個(gè)宏。
2宏
bool擴(kuò)展為_Bool。
3其余三個(gè)宏適用于#if預(yù)處理指令。他們是
true:擴(kuò)展為整數(shù)常數(shù)1
false:擴(kuò)展為整數(shù)常量0,并且
__bool_true_false_are_defined擴(kuò)展為整數(shù)常量1。
4盡管有7.1.3的規(guī)定,程序仍可能不確定,然后可能會重新定義宏bool,true和false。

TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個(gè)贊
請?jiān)贒aniWeb上的此相關(guān)線程上檢查出答案。
此處提取并引用以方便參考:
在c99中使用新關(guān)鍵字
_Bool:C99的布爾類型。僅當(dāng)您要維護(hù)已為bool,true或false定義宏的舊代碼時(shí),才建議直接使用_Bool。否則,這些宏將在<stdbool.h> 標(biāo)頭中標(biāo)準(zhǔn)化。包含該標(biāo)頭,就可以像在C ++中一樣使用bool。
#include <stdio.h>
#include <stdbool.h>
int main ( void )
{
bool b = true;
if ( b )
printf ( "Yes\n" );
else
printf ( "No\n" );
return 0;
}
- 2 回答
- 0 關(guān)注
- 584 瀏覽
添加回答
舉報(bào)