Cuestionario C – 105 | Pregunta 3

¿Qué pasaría cuando compilamos y ejecutamos este programa?

<br>
#include < stdio.h ><br>
int main()<br>
{<br>
  int i; <br>
  goto LOOP;<br>
  for (i = 0 ; i < 10 ; i++)<br>
  {<br>
     printf("GeeksQuiz \n");<br>
     LOOP:<br>
      break;<br>
  }<br>
  return 0;<br>
}<br>

(A) No hay error de compilación y se imprimirá GeeksQuiz 10 veces porque ir a la etiqueta LOOP no entraría en vigor.
(B) No hay error de compilación e imprimirá GeeksQuiz solo una vez porque ir a la etiqueta LOOP aparecería en la imagen solo después de ingresar for loop.
(C) Error de compilación porque ninguna etiqueta goto está permitida en el bucle for en C.
(D) No hay error de compilación, pero el comportamiento del programa dependería del compilador de C debido al comportamiento no determinista de la instrucción goto.
(E) No hay error de compilación y no imprimirá nada.

Respuesta: (E)
Explicación:La declaración goto se puede usar dentro de una función y su etiqueta puede apuntar a cualquier parte de la misma función. Aquí, las expresiones de bucle for, es decir, i = 0 e i < 10 e i++ no se ejecutarían en absoluto. Porque goto haría que el programa saltara directamente dentro del bucle for. Y a partir de ahí, ejecutará una declaración de interrupción que saldría del bucle. Así que efectivamente no se imprimiría nada.
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

Deja una respuesta

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