位置:首页 > 高级语言 > C++教程 > C++函数递归

C++函数递归

当函数在同一个函数内调用时,它被称为C++中的递归。 调用相同函数的函数(函数自已调用自已)称为递归函数。

在函数调用之后调用自身并且不执行任何任务的函数称为尾递归。 在尾递归中,我们通常使用return语句调用相同的函数。

下面来看看一个简单的递归示例。

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

可以通过下面的图形来理解上面的递归调用方法: