GATE 2024 CS (CS1) – Question 19
Consider the following C program:
#include <stdio.h>
void fX();
int main(){
fX();
return 0;}
void fX(){
char a;
if((a=getchar()) != '\n')
fX();
if(a != '\n')
putchar(a);}Assume that the input to the program from the command line is 1234 followed by a newline character. Which one of the following statements is CORRECT?
Practise this question in The GATE Grind →
Show answer and explanation
Correct answer: (C) The program will terminate with 4321 as output
Explanation
fX recurses reading 1,2,3,4 until newline, then unwinds printing characters in reverse: 4321.