¿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) 1°
2 °
*
3
° 2°
*
(B) 1°
2 °
*
3 °
2 °
*
3°
(C) 1°
2 °
3 °
*
2
° 3°
(D) 1°
2 °
3 °
*
1°
2 °
3°
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