Consider the following C program.
#include <stdio.h> struct Ournode {
char x, y, z;
}; int main() {
struct Ournode p = { '1' , '0' , 'a' + 2};
struct Ournode *q = &p;
printf ( "%c, %c" , *(( char *)q + 1), *(( char *)q + 2));
return 0;
} |
The output of this program is:
(A) 0, c
(B) 0, a+2
(C) ‘0’, ‘a+2’
(D) ‘0’, ‘c’
Answer: (A)
Explanation: ‘a’ + 2 will be ‘c’, so Ournode p = {‘1’, ‘0’, ‘c’} and output will be 0, c.
See: storage for Strings in C, string.
Option (A) is correct.