Prerrequisito: Estructura y Unión
QUE.1 ¿Cuál es el resultado de este programa?
C
#include <stdio.h> struct sample { int a = 0; char b = 'A'; float c = 10.5; }; int main() { struct sample s; printf("%d, %c, %f", s.a, s.b, s.c); return 0; }
OPCIÓN
a) Error
b) 0, A, 10,5
c) 0, A, 10,500000
d) Sin error, sin salida
Answer: a
Explicación: Error: No se pueden inicializar miembros aquí. Solo podemos declarar miembros dentro de la estructura, la inicialización de miembros con declaración no está permitida en la declaración de estructura.
QUE.2 ¿Cuál es el resultado de este programa?
C
#include <stdio.h> int main() { struct bitfield { signed int a : 3; unsigned int b : 13; unsigned int c : 1; }; struct bitfield bit1 = { 2, 14, 1 }; printf("%ld", sizeof(bit1)); return 0; }
OPCIÓN
a) 4
b) 6
c) 8
d) 12
Answer: a
Explicación: struct bitfield bit1={2, 14, 1}; cuando lo inicialicemos, tomará solo un valor, será int y el tamaño de int es 4
QUE. 3 ¿Cuál es el resultado de este programa?
C
#include <stdio.h> int main() { typedef struct tag { char str[10]; int a; } har; har h1, h2 = { "IHelp", 10 }; h1 = h2; h1.str[1] = 'h'; printf("%s, %d", h1.str, h1.a); return 0; }
OPCIÓN
a) ERROR
b) IHelp, 10
c) IHelp, 0
d) Ihelp, 10
Answer : d
Explicación: es posible copiar una variable de estructura en otra como h1 = h2. Por lo tanto, el valor de h2. str se asigna a h1.str.
QUE.4 ¿Cuál es la salida?
C
#include <stdio.h> struct sample { int a; } sample; int main() { sample.a = 100; printf("%d", sample.a); return 0; }
OPCIÓN
a) 0
b) 100
c) ERROR
d) Advertencia
Respuesta
Answer : b
Explicación: Este tipo de declaración está permitida en c.
QUE.5 ¿Cuál es la salida de este programa?
C
#include <stdio.h> int main() { union test { int i; int j; }; union test var = 10; printf("%d, %d\n", var.i, var.j); }
OPCIÓN
a) 10, 10
b) 10, 0
c) 0, 10
d) Error de compilación
Answer : d
Explicación: error: inicialización no válida. No puede inicializar una variable de unión como esta.
Siguiente Cuestionario sobre Estructura y Unión
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