Prediga la salida del siguiente programa:
#include <stdio.h> #define EVEN 0 #define ODD 1 int main() { int i = 3; switch (i & 1) { case EVEN: printf("Even"); break; case ODD: printf("Odd"); break; default: printf("Default"); } return 0; }
(A) Par
(B) Impar
(C) Predeterminado
(D) Error en tiempo de compilación
Respuesta: (B)
Explicación: La expresión i & 1 devuelve 1 si el bit más a la derecha está establecido y devuelve 0 si el bit más a la derecha no está establecido. Como todos los enteros impares tienen establecido su bit más a la derecha, el control va al bloque etiquetado ODD.
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