Nested Recursion
In a nested recursion, a recursive function will pass a parameter as a recursive call.
Here is a recursive function - it is calling itself so it is recursive. The parameter itself is a recursive call, means unless the result of this recursive call is obtained, the call cannot be made.
A recursive call is taking a recursive call as a parameter, a recursion inside a recursion, so it is called a nested recursion.
int fun(int n) {
if (n > 100) {
return n - 10;
} else {
return fun(fun(n + 11));
}
}
fun(95); // 91