C | Lazos y estructura de control | Pregunta 5

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

Deja una respuesta

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