Open In App

GATE | GATE CS 2018 | Question 33

Last Updated : 12 Aug, 2021
Like Article
Like
Save
Share
Report

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


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads