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