C | Operadores | Pregunta 27 – Part 3

#include <stdio.h>
int main()
{
   int a = 0;
   int b;
   a = (a == (a == 1));
   printf("%d", a);
   return 0;
}

(A) 0
(B) 1
(C) Gran número negativo
(D) -1

Respuesta: (B)
Explicación: Necesitamos calcular el valor de “(a == (a == 1))”

(a == 1) devuelve falso ya que a se inicializa como 0. Entonces, en el paréntesis exterior, falso se compara con a. Dado que a es 0, el resultado del paréntesis exterior se vuelve verdadero.

Lo importante a tener en cuenta es que, en C, cuando un valor booleano se compara o se asigna a un valor entero, falso se considera 0 y verdadero se considera 1.
Cuestionario de esta pregunta

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *