Respostas:
Incluir <stdbool.h>
cabeçalho
#include <stdbool.h>
int main(void){
bool b = false;
}
Macros true
e false
expandem para 1
e 0
respectivamente.
Tipo e valores booleanos da seção7.16
< stdbool.h >
- 1 O cabeçalho
<stdbool.h>
define quatro macros.- 2 A macro
- bool se expande para _Bool.
- 3 As três macros restantes são adequadas para uso nas diretivas de pré-processamento #if. Eles são
- verdadeiro: que se expande para a constante inteira 1,
- falso: que se expande para a constante inteira 0, e
- __bool_true_false_are_defined que se expande para a constante inteira 1.
- 4 Não obstante as provisões de 7.1.3, um programa pode indefinir e talvez então redefinir as macros bool, true e false.
Por favor, verifique a resposta aqui neste tópico relacionado encontrado no DaniWeb .
extraído e citado aqui para referência conveniente: -
_Bool : tipo booleano do C99. Usar _Bool diretamente só é recomendado se você estiver mantendo um código legado que já define macros para bool, true ou false. Caso contrário, essas macros são padronizadas no
<stdbool.h>
cabeçalho. Inclua esse cabeçalho e você poderá usar bool como faria em C ++.
#include <stdio.h>
#include <stdbool.h>
int main ( void )
{
bool b = true;
if ( b )
printf ( "Yes\n" );
else
printf ( "No\n" );
return 0;
}
_Bool
existe junto com bool
. Muito útil para entender isso.
_Bool
(por atribuição, conversão , etc.) é efetivamente prefixada à expressão com!!
.