, Очень полезно это понять.

акое логический тип данных C99 и как его использовать?

Ответы на вопрос(2)

Решение Вопроса

Включают<stdbool.h> заголовок

#include <stdbool.h>

int main(void){
  bool b = false;
}

макросtrue а такжеfalse расширить до1 а также0 соответственно.

Раздел7.16 Логический тип и значения< stdbool.h >

1 Заголовок<stdbool.h> определяет четыре макроса.2 Макросbool расширяется до _Bool.3 Остальные три макроса подходят для использования в директивах предварительной обработки #if. Они естьистина: которая расширяется до целочисленной константы 1,false: который расширяется до целочисленной константы 0 и__bool_true_false_are_defined, который расширяется до целочисленной константы 1.4 Несмотря на положения 7.1.3, программа может отменить определение и, возможно, затем переопределить макросы bool, true и false.
 R..22 янв. 2011 г., 14:12
Следует также отметить, что преобразование в_Bool (присваиванием, приведением и т. д.) эффективно путем добавления префикса к выражению!!.

ознакомьтесь с ответом здесь на этой связанной теме, найденной наDaniWeb.

извлечены и приведены здесь для удобства ссылки: -

использование новых ключевых слов в c99

_Bool: Логический тип C99. Использование _Bool напрямую рекомендуется только в том случае, если вы поддерживаете устаревший код, который уже определяет макросы для bool, true или false. В противном случае эти макросы стандартизированы в<stdbool.h> заголовок. Включите этот заголовок, и вы можете использовать bool, как в C ++.

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

int main ( void )
{
  bool b = true;

  if ( b )
    printf ( "Yes\n" );
  else
    printf ( "No\n" );

  return 0;
}
 Eonil18 нояб. 2014 г., 00:15
+1 за объяснение почему_Bool существует вместе сbool, Очень полезно это понять.

Ваш ответ на вопрос