Machine-translated by Google. Questions are authored in English.
Top

Discussion

What will be the output of the program If characters 'a', 'b' and 'c' enter are supplied as input?

#include <stdio.h>

int main()
{
    void fun();
    fun();
    printf("\n");
    return 0;
}
void fun()
{
    char c;
    if((c = getchar())!= '\n')
        fun();
    printf("%c", c);
}

 

  • A.abc abc
  • B.bca
  • C.Infinite loop
  • D.cba

Answer: D

Correct answer: cba

fun reads a character and, if it is not the newline, calls itself before printing. So the three calls stack up, each holding its own c, and the printing happens as the recursion unwinds - last character first. With a, b, c entered, the output is cba.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.