1.

Pick the best statement for the below program:

 #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 ?nd",arr[0].a[0],arr[0].a[1],arr[0].b); printf("%d %d %dn",arr[1].a[0],arr[1].a[1],arr[1].b); return 0; }

A. Compile error because struct type (containing two fields i.e. an array of int and an int) has been specified along with the definition of array arr[] of this struct type.
B. Compile error because of incorrect syntax for initialization of array arr[].
C. No compile error and two elements of arr[] would be defined and initialized. Output would be 1 0 1 and 2 0 2 .
D. No compile error and two elements of arr[] would be defined and initialized. Output would be 1 X 1 and 2 X 2 where X is some garbage random number.
Answer» D. No compile error and two elements of arr[] would be defined and initialized. Output would be 1 X 1 and 2 X 2 where X is some garbage random number.


Discussion

No Comment Found