Salida de programas C | Conjunto 41

QUE.1 ¿Qué se generará si compila y ejecuta el siguiente código c?

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

(a)2 6
(b)4 6
(c)2 5
(d)4 5

Answer : d

Explicación:

 ++a +b = 6 + Garbage floating point number
 = Garbage floating point number
// From the rule of automatic type conversion 

Por lo tanto , el operador sizeof devolverá 4 porque el tamaño del tipo de datos flotante en c es de 4 bytes. El valor de cualquier variable no se modifica dentro del operador sizeof. Por lo tanto, el valor de la variable a seguirá siendo 5.

QUE.2 ¿Qué se generará si compila y ejecuta el siguiente código c?

#include <stdio.h>
  
int main()
{
    int array[3] = { 5 };
    int i;
    for (i = 0; i <= 2; i++)
        printf("%d ", array[i]);
    return 0;
}

(a)5 basura basura
(b)5 0 0
(c)5 nulo nulo
(d)Error del compilador
(e)Ninguno de los anteriores

Answer : b

Explicación: la clase de almacenamiento de una array que inicializa el elemento de la array en el momento de la declaración es estática. El valor inicial predeterminado del entero estático es cero.
QUE.3 ¿Qué se generará si compila y ejecuta el siguiente código c?

#include <stdio.h>
int main()
{
    register int i, x;
    scanf("%d", &i);
    x = ++i + ++i + ++i;
    printf("%d", x);
    return 0;
}

(a)17
(b)18
(c)21
(d)22
(e)Error del compilador

Answer : e

Explicación: en C, registre almacenes de variables en la CPU que no se almacenan en la RAM. Entonces, la variable de registro no tiene ninguna dirección de memoria. Entonces es ilegal escribir &a.

QUE.4 ¿Qué se generará si compila y ejecuta el siguiente código c?

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

OPCIÓN
(a)5 10
(b)6 11
(c)5 11
(d)6 10
(e)Error del compilador

Answer : c

Explicación: la clase de almacenamiento predeterminada de la variable local es auto . El alcance y visibilidad de la variable automática está dentro del bloque en el que se ha declarado. En C, si hay dos variables con el mismo nombre,
solo podemos acceder a la variable local. Por lo tanto, dentro del bloque interno, la variable a es una variable local que se ha declarado y definido dentro de ese bloque.
Cuando el control sale del bloque interno, la variable local a quedó muerta.

QUE.5 ¿Qué se generará si compila y ejecuta el siguiente código C?

#include <stdio.h>
int main()
{
    float f = 3.4e39;
    printf("%f", f);
    return 0;
}

OPCIÓN
(a)3.4e39
(b)3.40000…
(c)inf
(d)Error del compilador
(e)Error de tiempo de ejecución

Answer: c 

Explicación: si asigna un valor más allá del rango del tipo de datos flotantes a la variable flotante, no mostrará ningún error del compilador. Almacenará infinito.

Este artículo es una contribución de Ajay Puri(ajay0007) . 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 *