C Programming - Strings - Discussion

Discussion Forum : Strings - Find Output of Program (Q.No. 6)
6.
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);
}
abc abc
bca
Infinite loop
cba
Answer: Option
Explanation:

Step 1: void fun(); This is the prototype for the function fun().

Step 2: fun(); The function fun() is called here.

The function fun() gets a character input and the input is terminated by an enter key(New line character). It prints the given character in the reverse order.

The given input characters are "abc"

Output: cba

Discussion:
31 comments Page 3 of 4.

Ishvarya said:   8 years ago
I am not getting this, Anyone please explain it step by step.

Ravi Mule said:   9 years ago
@Vasuveer Singh.

You are right, it's a recursion program.

RAJESH KUMAR said:   9 years ago
Yes, you are right! @Amandeep I also have this confusion.

Raman_Kaur said:   8 years ago
How can we identify that it will take only 3 characters?

Faizan said:   4 years ago
Since it is recursion output is printed in LIFO manner.

Reshma said:   1 decade ago
Can anybody tell me how abc is reversed to cba ?

Vinnu said:   3 years ago
Why it print only 3 characters? Please expxlain.

BISWAJIT MOHAPATRA said:   9 years ago
Not understanding, Can anyone explain it to me?

Bhargav said:   1 decade ago
Why void fun() is declared inside the main ?

Sagar Kapadiya(Surat) said:   1 decade ago
Can you describe a whole program?


Post your comments here:

Your comments will be displayed after verification.