388 views
0 votes
0 votes

Which of the following is the correct output for the program given below?

#include<stdio.h>
void fun(int);
int main()
{
    int a;
    a=3;
    fun(a);
    printf("\n");
    return 0;
}
void fun(int n)
{
    if(n>0)
    {
        fun(--n);
        printf("%d",n);
        fun(--n);
    }
}

(a) 0 2 1 0

(b) 1 1 2 0

(c) 0 1 0 2

(d) 0 1 2 0

2 Answers

0 votes
0 votes

Another way to follow each recursive call step by step to know exact function calling

Option d) 0 1 2 0 is the answer

Related questions

0 votes
0 votes
1 answer
1
Debargha Mitra Roy asked Apr 16
68 views
#include <stdio.h int main() { int a[3] = {1, 3, 5, 7, 9, 11}; int *ptr = a[0]; ptr += sizeof(int); printf("%d", *ptr); return 0; }(Assume size of int to be $2$ bytes.)T...
0 votes
0 votes
2 answers
3
Debargha Mitra Roy asked Apr 10
115 views
What is the output of the below code?#include <stdio.h void main() { static int var = 5; printf("%d ", var ); if (var) main(); }a. 1 2 3 4 5b. 1c. 5 4 3 2 1d. Error
1 votes
1 votes
1 answer
4
SSR17 asked Feb 29
254 views
#include <stdio.h int main() { int i = -1; int x = (unsigned char)i; printf("%d", x); return 0; }output is 255 , but please explain how