scanf中的格式说明符,用于C中的bool数据类型

时间:2012-10-16 18:00:13

标签: c scanf format-specifiers

我在C std99中使用bool数据类型,其定义在<stdbool.h>中定义。现在我希望用户给我输入。我必须在scanf中使用什么格式说明符来从用户输入1字节的布尔值,然后在我的程序中对其进行操作。

2 个答案:

答案 0 :(得分:19)

没有。

使用临时对象,因为_Bool的大小取决于实现。

#include <stdbool.h>
#include <stdio.h>

bool b;
int temp;

scanf("%d", &temp);
b = temp;

答案 1 :(得分:3)

C中bool没有特殊类型.C truefalse由整数值1 and 0表示。因此格式说明符为%d

stackoverflow中还有另一个关于C boolean的讨论。 Here it is