#include <stdio.h>
int f(int *a,int b) {
b = b-1;
if(b == 0) return 1;
else {
*a = *a+1;
return *a + f(a,b) ;
}
}
int main() {
int X = 5;
printf("%d\n",f(&X,X));
}
Predict the output
If the return statement was
return f(a,b)+ *a ;
What would have been the output here ? Explain why there is change in output (if any)