Cuestionario C – 112 | Pregunta 3

Elija la mejor declaración para el siguiente programa:

#include "stdio.h"
  
int main()
{
 struct {int a[2], b;} arr[] = {[0].a = {1}, [1].a = {2}, [0].b = 1, [1].b = 2};
  
 printf("%d %d %d and",arr[0].a[0],arr[0].a[1],arr[0].b);
 printf("%d %d %d\n",arr[1].a[0],arr[1].a[1],arr[1].b);
  
 return 0;
}

(A) Error de compilación porque el tipo de estructura (que contiene dos campos, es decir, una array de int y un int) se ha especificado junto con la definición de array arr[] de este tipo de estructura.
(B) Error de compilación debido a una sintaxis incorrecta para la inicialización de la array arr[].
(C) No hay error de compilación y se definirían e inicializarían dos elementos de arr[]. La salida sería «1 0 1 y 2 0 2».
(D) No hay error de compilación y se definirían e inicializarían dos elementos de arr[]. La salida sería «1 X 1 y 2 X 2», donde X es un número aleatorio basura.

Respuesta: (C)
Explicación:En C, los designadores se pueden usar para proporcionar una inicialización explícita. Para una array, los elementos que no se inicializan explícitamente en el programa se establecen como CERO. Es por eso que la respuesta correcta es C.
Cuestionario de esta pregunta

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 *