Open In App
Related Articles

C Quiz – 112 | Question 5

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Report issue
Report

Pick the best statement for the below program: 

C

#include <stdio.h>
 
int main()
{
    union {
        int i1;
        int i2;
    } myVar = {.i2 = 100};
     
    printf("%d %d", myVar.i1, myVar.i2);
     
    return 0;
}

                    
(A)

Compile error due to incorrect syntax of initialization.

(B)

No compile error and it’ll print “0 100”.

(C)

No compile error and it’ll print “100 100”.



Answer: (C)

Explanation:

Since fields/members of union share same memory, both i1 and i2 refer to same location. Also, since both i1 and i2 are of same type, initializing one would initialize the other as well implicitly. So answer is C.



Quiz of this Question
Please comment below if you find anything wrong in the above post

Last Updated : 28 Jun, 2021
Like Article
Save Article
Share your thoughts in the comments
Similar Reads