C++ Recursion 递归

在同一个函数中调用函数时,在 C++ 中称为递归。调用相同函数的函数称为递归函数。

调用自身并且在函数调用后不执行任何任务的函数称为尾递归。在尾递归中,我们一般用return语句调用同一个函数。

让我们看一个简单的递归示例。

例子 (Example)

recursionfunction(){    
recursionfunction(); //调用自身函数    
}

C++ 递归示例

让我们看一个在 C++ 语言中使用递归打印阶乘数的示例。

例子 (Example)

#include<iostream>  
using namespace std;    
int main()  
{  
int factorial(int);  
int fact,value;  
cout<<"输入任意数字:";  
cin>>value;  
fact=factorial(value);  
cout<<"一个数的阶乘是: "<<fact<<endl;  
return 0;  
}  
int factorial(int n)  
{  
if(n<0)  
return(-1); /*错误的值*/    
if(n==0)  
return(1);  /*终止条件*/  
else  
{  
return(n*factorial(n-1));      
}  
}

输出:

输入任意数字:5
一个数的阶乘是:120

我们可以通过下图来理解上述递归方法调用的程序:

CPP 递归 1


  • 使用社交账号登录,本站支持
全部评论(0)