Open In App

Algorithms | Recursion | Question 9

Last Updated : 17 May, 2019
Like Article
Like
Save
Share
Report

Predict output of following program 

C




#include <stdio.h>
 
int fun(int n)
{
    if (n == 4)
       return n;
    else return 2*fun(n+1);
}
 
 
int main()
{
   printf("%d", fun(2));
   return 0;
}


(A)

4

(B)

8

(C)

16

(D)

Runtime Error



Answer: (C)

Explanation:

Fun(2) = 2 * Fun(3) and Fun(3) = 2 * Fun(4) ….(i)
Fun(4) = 4 ……(ii)
From equation (i) and (ii),
Fun(2) = 2 * 2 * Fun(4)
Fun(2) = 2 * 2 * 4
Fun(2) = 16. 

So, C is the correct answer


Quiz of this Question
Please comment below if you find anything wrong in the above post


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads