Answers:
包含<stdbool.h>
标题
#include <stdbool.h>
int main(void){
bool b = false;
}
宏true
和false
扩展到1
和0
分别。
节7.16
布尔类型和值< stdbool.h >
- 1标头定义了
<stdbool.h>
四个宏。- 2宏
- bool扩展为_Bool。
- 3其余三个宏适用于#if预处理指令。他们是
- true:扩展为整数常数1
- false:扩展为整数常量0,并且
- __bool_true_false_are_defined扩展为整数常量1。
- 4尽管有7.1.3的规定,程序仍可能无法定义宏,然后重新定义布尔,真和假宏。
请在DaniWeb上的此相关线程上检查出答案。
此处提取并引用以方便参考:-
_Bool:C99的布尔类型。仅当您要维护已为bool,true或false定义宏的旧代码时,才建议直接使用_Bool。否则,这些宏将在
<stdbool.h>
标头中标准化。包含该标头,就可以像在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;
}
_Bool
与一起存在bool
。了解它非常有帮助。
_Bool
通过在表达式前加上,可以有效地转换为(通过赋值,强制转换等)!!
。