Используя истину и ложь в C

Насколько я вижу, что существует 3 способа использовать булевские переменные в c

  1. с типом bool, с того времени с помощью истины и лжи
  2. определение препроцессора использования #define FALSE 0 ... #define TRUE !(FALSE)
  3. Только использовать константы непосредственно, т.е. 1 и 0

есть ли другие методы, которые я пропустил? Каковы за и против различных методов?

Я предполагаю, что самым быстрым был бы номер 3, 2, более легко читаемо все еще (хотя поразрядное отрицание немного добавит к издержкам), 1 является самым читаемым не совместимый со всеми компиляторами.

58
задан 14 February 2010 в 08:07

1 ответ

Я предпочитаю использовать

#define FALSE (0!=0) 
#define TRUE  (0==0)

или непосредственно в коде

if (flag == (0==0)) { ... }

, компилятор будет заботиться об этом. Я использую много языков и имеющий необходимость помнить, что ЛОЖЬ 0, беспокоит меня много; но если я имею к, я обычно думаю о том строковом цикле

do { ... } while (*ptr);

, и это приводит меня видеть, что ЛОЖЬ 0

0
ответ дан 1 November 2019 в 13:30

Другие вопросы по тегам:

Похожие вопросы: