Salida de programas C | Conjunto 52

1. ¿Cuál será el resultado del siguiente programa?

#include <stdio.h>
int main()
{
    int a = 5, *b, c;
    b = &a;
    printf("%d", a * *b * a + *b);
    return (0);
}

Opciones:
1. 130
2. 103
3. 100
4. 310

 The answer is the option(1).

Explicación:
Aquí la expresión a**b*a + *b usa un puntero en el concepto C/C++ . Aquí a**b*a + *b significa 5*(valor del puntero b que es 5)*5 +(valor en el puntero b que es 5 nuevamente).
Entonces el resultado es 130.

2. ¿Cuál será el resultado del siguiente programa?

#include <stdio.h>
int main()
{
    int i, j = 3;
    float k = 7;
    i = k % j;
    printf("%d", i);
    return (0);
}

Opciones:
1. Sin salida
2. Error de tiempo de compilación
3. Terminación anormal
4. 1

The answer is option(2).

Explicación: aquí k es una variable de punto flotante y no podemos aplicar el operador % en la variable de punto flotante. El operador de módulo % en C y C++ está definido solo para dos enteros, pero hay una función fmod() disponible para usar con dobles.
Consulte: https://www.geeksforgeeks.org/can-use-operator-floating-point-numbers/

3. ¿Cuál será el resultado del siguiente programa?

#include <stdio.h>
int main()
{
    int a;
    int b = 5;
    a = 0 && --b;
    printf("%d %d", a, b);
}

Opciones:
1. 0 4
2. error de tiempo de compilación
3. 0 5
4. error de sintaxis

The answer is option(3).

Explicación: En el operador lógico AND , si alguna de las condiciones es falsa, el resultado completo es falso. Aquí 0 actúa como un valor falso en c, por lo que todo el resultado es falso y –b no se ejecuta. Por lo tanto, el resultado es 0 5.

4. ¿Cuál será el resultado del siguiente programa?

#include <stdio.h>
int main()
{
    int a = 0;
    while (a < 5) {
        printf("%d\\n", a++);
    }
}

Opciones:
1. Sin salida
2. 0\n\1\n\2\n\3\n\4\n
3. 0\n1\n2\n3\n4\n
4. error de compilación

The answer is option(3).

Explicación: Aquí, el bucle while se ejecutará 5 veces. Sabemos que a ++ es un incremento posterior y en el incremento posterior primero asignamos y luego incrementamos. Cuando se ejecuta el bucle por primera vez, while (0<5) la función printf contiene \\n que actúa como un carácter de escape de barra invertida. Por lo tanto, imprime 0\n en el primer ciclo, 1\n en el segundo ciclo, 3\n en el tercer ciclo y así sucesivamente.
 
5. ¿Cuál será el resultado del siguiente programa?

#include <stdio.h>
int main()
{
    int x = 5;
    if (x >= 10)
        printf("Hello");
    printf("GFG");
    else printf("hi");
}

Opciones:
1. Sin salida
2. hola
3. HelloGFG
4. error de compilación

The answer is option(4).

Explicación: dará un error de compilación porque cuando solo hay una declaración en la cláusula if , entonces no se requieren llaves, pero si hay más de una declaración, debemos encerrarlas con llaves y aquí no estamos dando llaves. Por lo tanto obtendremos un error de tiempo de compilación con un mensaje else sin un if previo. Es un problema de entregar la declaración if que no está permitida en C.

Este artículo es una contribución de Bishal Kumar Dubey . 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 *