- 
					 What is the return value of f(p,p), if the value of p is initialized to 5 before the call? Note that the first parameter is passed by reference, whereas the second parameter is passed by value.
int f (int &x, int c) {
c = c – 1;
if (c==0) return 1;
x = x + 1;
return f(x,c) * x;
} 
- 
                        
-  3024 
 -  6561 
 -  55440 
 - 161051
 
 -  3024 
 
Correct Option: B
Return value f (p, p) if the value of p is intialized to 5 before the call. 
Since, reference of p is passed as 'x'
Thus, any change in value of x in f would be reflected globally. The recursion can be broken down as 