C | Lazos y estructura de control | Pregunta 11

¿Salida del siguiente programa C?

#include<stdio.h>
int main()
{
    int i = 0;
    for (printf("1st\n"); i < 2 && printf("2nd\n"); ++i && printf("3rd\n"))
    {
        printf("*\n");
    }
    return 0;
}

(A)
2 °
*
3
° 2°
*

(B)
2 °
*
3 °
2 °
*

(C)
2 °
3 °
*
2
° 3°

(D)
2 °
3 °
*

2 °

Respuesta: (B)
Explicación: Es solo una ejecución de instrucciones en el bucle for.
a) La instrucción inicial se ejecuta una sola vez.
b) La segunda condición se imprime antes de que se imprima ‘*’. La segunda declaración también tiene un operador lógico && de cortocircuito que imprime la segunda parte solo si ‘i’ es menor que 2
b) La tercera declaración se imprime después de que se imprime ‘*’. Esto también tiene un operador lógico && de cortocircuito que imprime la segunda parte solo si ‘++i’ no es cero.

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 *