2012-10-16 104 views
12

我在C std99中使用bool數據類型,其定義在<stdbool.h>中定義。現在我想讓用戶給我輸入。我必須在scanf中使用什麼格式說明符來輸入用戶的1個字節的布爾值,然後在我的程序中進行操作。scanf中bool數據類型的格式說明符C

回答

16

沒有。

使用臨時對象作爲_Bool的大小取決於實現。

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

bool b; 
int temp; 

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

有在C. bool在C沒有特殊類型truefalse由整數值1 and 0表示。所以格式說明符將是%d

在stackoverflow中有另一種C布爾的討論。 Here it is

+3

不帶大小說明符的轉換規範'%d'表示參數類型是'int *',但'bool'可以與'char'大小相同。 – ouah