¿Qué sucederá cuando compilemos y ejecutemos el siguiente programa en C?
#include < stdio.h ><br> <br> int main()<br> {<br> int i = 1, j;<br> for ( ; ; )<br> { <br> if (i)<br> j = --i;<br> if (j < 10)<br> printf("GeeksQuiz", j++);<br> else<br> break;<br> }<br> return 0;<br> }<br>
(A) Error de compilación.
(B) No hay error de compilación, pero se ejecutará en GeeksQuiz de impresión de bucle infinito.
(C) No hay error de compilación y se imprimirá GeeksQuiz 10 veces.
(D) No hay error de compilación pero imprimirá GeeksQuiz 9 veces.
Respuesta: (C)
Explicación:Básicamente, aunque el bucle for no tiene ninguna de las tres expresiones entre paréntesis, la inicialización, el control y el incremento se han realizado en el cuerpo del bucle. Entonces j se inicializaría a 0 a través de first if. Este si mismo se ejecutaría una sola vez debido a i–. A continuación, se utilizan los bloques if y else para verificar el valor de j y el bucle existente si j se convierte en 10. Tenga en cuenta que j se incrementa en printf aunque no hay un especificador de formato en la string de formato. Es por eso que GeeksQuiz se imprimiría de j=0 a j=9, es decir, un total de 10 veces.
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