Open In App

GATE | GATE CS 2018 | Question 33

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.




Quiz of this Question

Article Tags :