GATE 2022 CS – Question 21
What is printed by the following ANSI C program?
#include<stdio.h>
int main(int argc, char *argv[])
{
int x = 1, z[2] = {10, 11};
int *p = NULL;
p = &x;
*p = 10;
p = &z[1];
*(&z[0] + 1) += 3;
printf("%d, %d, %d\n", x, z[0], z[1]);
return 0;
}Practise this question in The GATE Grind →
Show answer and explanation
Correct answer: (D) 10, 10, 14
Explanation
`*p=10` sets x to 10. `*(&z[0]+1)` is z[1], and adding 3 makes it 14. The output is `10, 10, 14`.