Salida de programas C | Conjunto 48

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

#include <stdio.h>
#define square(x) (x * x)
  
int main()
{
    int x, y = 1;
    x = square(y + 1);
    printf("%d\n", x);
    return 0;
}

Opciones:
(A) Error
(B) 4
(C) 3
(D) Valor basura

Answer : (C)

Explicación: la macro función square(x)(x*x) calcula el cuadrado del número dado.

Initially int y = 1;
In the  next step  x = square(y+1); 
 x = y+1 * y+1; Here square(x) is replaced  x*x .
 x = 1+1 * 1+1; 
 x = 1 + 1 + 1; 
 x = 3; 

2. ¿Cuál es el resultado del siguiente programa?
El código que se proporciona a continuación se ejecuta desde la línea de comandos.
Entrada dada por el usuario: myfile 2 4 6

// myprog.c
#include <stdio.h>
  
int main(int argc, char* argv[])
{
    int result;
    result = argv[2] + argv[4] + argv[6];
    printf("%d", result);
    return 0;
}

Opciones:
(A) Reflejará un valor basura.
(B) Error
(C) 12
(D) miarchivo 12

Answer : (B) Error

Explicación: error porque argv[2], argv[4] y argv[6] son ​​de tipo string y no podemos realizar operaciones aritméticas sin convertir la string a tipo entero.

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

#include <stdio.h>
void main()
{
    unsigned char x = 400;
    printf("%d", x);
}

Opciones:
(A) Error
(B) 144
(C) 400
(D) Valor basura

Answer :(B) 144 

Explicación: dado que la entrada está más allá del rango de caracteres sin signo, reflejará el valor cíclico de la entrada.

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

#include <stdio.h>
int main()
{
    int i;
    char input;
    for (i = 1; i <= 5; i++) {
        // The input provided is 'X'
        scanf("%c", &input);
        printf("%c", input);
        ungetc(input, stdin);
    }
    return 0;
}

Opciones:
(A) Error
(B) X
(C) XXXXX
(D) Un valor basura.

Answer:(C)- XXXXX 

Explicación: El bucle se ejecutará 5 veces. Ahora, proporcionamos la entrada como ‘X’. Que se escanea como ‘entrada’.

printf("%c", input);
The above line prints 'X'

Ahora, la instrucción ungetc(input, stdin) empuja el carácter ‘X’ de regreso al flujo de entrada.

Para la próxima ejecución del ciclo.
La declaración scanf obtiene la entrada de «stdin» debido a la función «ungetc» utilizada anteriormente. Ahora, la instrucción printf imprimirá ‘X’, ya que input= ‘X’ y ungetc(input, stdin) empujan ‘X’ de regreso al flujo de entrada y se llevará a cabo el mismo proceso para las iteraciones restantes.

5. ¿Cuál es el resultado del siguiente programa?

#include <stdio.h>
int main()
{
    printf("Geeksfor ", "Geeks\n");
    return 0;
}

Opciones:
(A) Geeksfor
(B) GeeksforGeeks
(C) Error
(D) Geeks

Answer:(A) Geeksfor

Explicación: printf() permite un número variable de argumentos. Dado que no hay un especificador de formato, el segundo parámetro se ignora con una advertencia.

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