Подтвердить что ты не робот

Спецификатор формата в scanf для типа данных bool в C

Я использую bat datatype в C std99, определения которого определены в <stdbool.h>. Теперь я хочу, чтобы пользователь дал мне ввод. Какой спецификатор формата я должен использовать в scanf, чтобы ввести логическое значение 1 байт от пользователя, а затем обработать его потом в моей программе.

4b9b3361

Ответ 1

Нет.

Использовать временный объект, поскольку размер _Bool зависит от реализации.

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

bool b;
int temp;

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

Ответ 2

Нет специального типа для bool в C. В C true или false обозначается целочисленное значение 1 and 0. Таким образом, спецификатор формата будет %d.

Существует еще одно обсуждение C boolean в stackoverflow. Здесь это.