# Function recursion in c++ In this article, we will learn about function recursion,before moving forward let’s know

## What is recursion?

Recursion is the process of defining a problem (or the solution to a problem) in terms of (a simpler version of) itself.

## What is function recursion?

The function which calls the same function, is known as recursive function.

A function that calls itself, and doesn’t perform any task after function call, is known as tail recursion. In tail recursion, we generally call the same function with return statement.

## Syntax of function recursion:

```recursionfunction(){
recursionfunction(); //calling self function
}    ```

## C++ Recursion Example

Let’s see an example to print factorial number using recursion in C++ language.

```#include<iostream>
using namespace std;
int main()
{
int factorial(int);
int fact,value;
cout<<"Enter any number: ";
cin>>value;
fact=factorial(value);
cout<<"Factorial of a number is: "<<fact<<endl;
return 0;
}
int factorial(int n)
{
if(n<0)
return(-1); /*Wrong value*/
if(n==0)
return(1);  /*Terminating condition*/
else
{
return(n*factorial(n-1));
}
}  ```

Output:

```Enter any number: 5
Factorial of a number is: 120```

Below are the pros and cons of using recursion in C++.

Advantages of C++ Recursion

• It makes our code shorter and cleaner.
• Recursion is required in problems concerning data structures and advanced algorithms, such as Graph and Tree Traversal.

Disadvantages of C++ Recursion

• It takes a lot of stack space compared to an iterative program.
• It uses more processor time.
• It can be more difficult to debug compared to an equivalent iterative program.

5 1 vote
Article Rating

Learn C++ App available on play store Download Now.
Do you want to hire us for your Project Work? Then Contact US. 