Какой тип данных правильно использовать как логический в C?
Asked
Active
Viewed 446 times
1 Answers
7
Если используется C99, то стоит задействовать его возможности, подключив заголовок stdbool.h. Например, так:
#include <stdio.h>
#include <stdbool.h>
#define BOOL(b) b ? "true" : "false"
void main() {
bool t = true, f = false;
printf("t = %s, f = %s\n", BOOL(t), BOOL(f));
}
Если C99 не используется, то предопределенного логического типа нет. Обычно используют макроопределения
#define TRUE 1
#define FALSE 0
или перечисления
typedef enum { FALSE = 0, TRUE = 1 } bool;
при этом используемым типом данных может быть любой подходящий целочисленный тип.
stanislav
- 34,518
- 27
- 98
- 214
intи не мудрить. И не сравнивать на равенство. – Qwertiy Feb 15 '17 at 13:11