Pregunta 1. Suponga que el tamaño de un número entero es de 4 bytes y el tamaño del carácter es de 1 byte. ¿Cuál será el resultado del siguiente programa?
#include <stdio.h> union test { int x; char arr[8]; int y; } u; int main() { printf("%u", sizeof(u)); return 0; }
opciones :
A)12
B)16
C)8
D)4
Answer - C
Explicación: en el tipo de datos de unión, la memoria requerida para almacenar una variable de unión es la memoria requerida para el elemento más grande de una unión.
Pregunta 2. ¿Cuál será el resultado del siguiente programa?
#include <stdio.h> int main() { int n; for (n = 9; n != 0; n--) printf("%d", n--); }
opciones:
A)9 7 5 3 1
B)9 8 7 6 5 4 3 2 1
C)Bucle infinito
D)9 7 5 3
Answer - C
Explicación: el bucle se ejecutará un tiempo infinito porque n nunca será igual a 0.
Pregunta 3. ¿Cuál será el resultado del siguiente programa?
#include <stdio.h> int main() { int x = 1; if (x = 0) printf("Geeks"); else printf("Geeksforgeeks"); }
Opciones:
A) Geeks
B) error de tiempo de ejecución
C) Geeksforgeeks
D) error de tiempo de compilación
Answer - C
Explicación: aquí estamos asignando (=) y no comparando (==) x con 0, lo cual no es cierto, por lo que la parte else se ejecutará e imprimirá Geeksforgeeks.
Pregunta 4. ¿Cuál será el resultado del siguiente código c?
#include <stdio.h> int main() { int i = 2, j = 2; while (i + 1 ? --i : j++) printf("%d", i); return 0; }
Opciones:
A)1
B)2
C)0
D)Sin salida
Answer : A
Explicación:
Considere la condición del bucle while:
i + 1 ? -- i : ++j
En la primera iteración:
i + 1 = 3 (Verdadero), por lo que el operador ternario devolverá
-–i i.e. 1
En C, 1 significa verdadero, mientras que la condición es verdadera. Por lo tanto, la instrucción printf imprimirá 1
en la segunda iteración:
i + 1 = 2 (Verdadero), por lo que el operador ternario devolverá
-–i i.e. 0
En C, cero significa falso, mientras que la condición es falsa. Por lo tanto, el control del programa saldrá del bucle while.
Pregunta 5. Suponga que el tamaño de un número entero es de 4 bytes y el tamaño del carácter es de 1 byte. ¿Cuál será el resultado del siguiente programa?
#include <stdio.h> struct test { int x; char arr[8]; int y; } u; int main() { printf("%u", sizeof(u)); return 0; }
opciones :
A)12
B)16
C)8
D)4
Answer - B
Explicación: en el tipo de datos de estructura, la cantidad de memoria requerida para almacenar una variable de estructura es la suma del tamaño de memoria de todos los miembros.
Este artículo es una contribución de Rishabh Jain . 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