Requisito previo: bucle for
P.1 ¿Cuál es el resultado de este programa?
#include <iostream> using namespace std; int main() { for (5; 2; 2) printf("Hello\n"); return 0; }
Opciones
a) error de compilación
b) Hola
c) bucle infinito
d) ninguna de las anteriores
ans: c
Explicación: poner un valor distinto de cero en la parte de condición lo hace infinito.
P.2 ¿Cuál es el resultado de este programa?
#include <iostream> using namespace std; int main() { static int i; for (i++; ++i; i++) { printf("%d ", i); if (i == 6) break; } return 0; }
Opciones
Opciones:
a) 2 4 6
b) error de compilación
c) valor basura
d) sin salida
ans : a
Explicación: después de la primera iteración, el programa se ve como (0, 2, 2). Se rompe cuando i = 6.
P.3 ¿Cuál es el resultado de este programa?
#include <iostream> using namespace std; int fun(); int main() { for (fun(); fun(); fun()) { printf("%d ", fun()); } return 0; } int fun() { int static num = 10; return num--; }
Opciones
a) error de compilación
b) no se puede predecir
c) 8 5 2
d) ninguna de las anteriores
ans: c
Explicación :
At first iteration: for(10; 9; fun()) //condition true printf("%d", 8) //8 prints At second iteration: for(10; fun(); 7) for(7; 6 ;fun()) //condition true printf("%d", 5) //5 prints At third iteration: for(7; fun(); 4) for(4; 3; fun()) //condition true printf("%d", 2) //2 prints At fourth iteration: for(4; fun(); 1) for(1; 0; fun()) //condition false Program terminates
P.4 ¿Cuál es el resultado de este programa?
#include <iostream> using namespace std; int main() { for (;;) printf("%d ", 10); return 0; }
Opciones
a) error de compilación
b) error de tiempo de ejecución
c) 10
d) Bucle infinito
ans : d
Explicación: dado que no se proporciona ninguna condición, el ciclo se ejecuta infinitamente.
P.5 ¿Cuál es el resultado de este programa?
#include <iostream> using namespace std; int main() { char i = 0; for (; i++; printf("%d", i)) ; printf("%d", i); return 0; }
Opciones
a) 0
b) 1
c) Bucle infinito
d) error de compilación
ans: b
Explicación: la siguiente condición falla por primera vez, por lo que el ciclo termina y el valor de i se incrementa a 1.
for(; 0; printf("%d", i))
P.6 ¿Cuál es el resultado de este programa?
#include <iostream> using namespace std; int main() { int i; for (i = 0; i < 0, 5; i++) printf("%d ", i); return 0; }
Opciones a) error
b) 1, 3
c) el programa nunca termina
d) ninguna de estas
ans: c
Explicación: –
Considera dos condiciones:
(a) i<0 falla en la primera iteración
(b) 5 en la parte de la condición lo convierte en un ciclo infinito ya que nunca se convierte en 0.
Este artículo es una contribución de Pragya Singh . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
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