Como se mencionó anteriormente, BOOL es un personaje firmado. bool - tipo del estándar C99 (int).
BOOL - SÍ / NO. bool - verdadero / falso.
Ver ejemplos:
bool b1 = 2;
if (b1) printf("REAL b1 \n");
if (b1 != true) printf("NOT REAL b1 \n");
BOOL b2 = 2;
if (b2) printf("REAL b2 \n");
if (b2 != YES) printf("NOT REAL b2 \n");
Y el resultado es
REAL b1
REAL b2
NO REAL b2
Tenga en cuenta que bool! = BOOL. El resultado a continuación es solo UNA VEZ MÁS - REAL b2
b2 = b1;
if (b2) printf("ONCE AGAIN - REAL b2 \n");
if (b2 != true) printf("ONCE AGAIN - NOT REAL b2 \n");
Si desea convertir bool a BOOL, debe usar el siguiente código
BOOL b22 = b1 ? YES : NO; //and back - bool b11 = b2 ? true : false;
Entonces, en nuestro caso:
BOOL b22 = b1 ? 2 : NO;
if (b22) printf("ONCE AGAIN MORE - REAL b22 \n");
if (b22 != YES) printf("ONCE AGAIN MORE- NOT REAL b22 \n");
Y entonces ... ¿qué tenemos ahora? :-)