Salida de programas C | Establecer 57 (para bucle)

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

Deja una respuesta

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