C++ 递归
当在同一个函数内调用函数时,在C++中被称为递归。调用相同函数的函数被称为递归函数。
一个调用自身的函数,并且在函数调用后不执行任何任务的函数被称为尾递归。在尾递归中,我们通常使用返回语句调用相同的函数。
让我们看一个简单的递归示例。
recursionfunction(){
recursionfunction(); //calling self function
}
C++ 递归示例
让我们看一个使用递归在C++语言中打印阶乘数的例子。
#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));
}
}
输出:
Enter any number: 5
Factorial of a number is: 120
我们可以通过下面给出的图形来理解上述的递归方法调用程序: