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

可以通過下麵的圖形來理解上面的遞歸調用方法:


上一篇: C++函數-通過值調用和引用調用 下一篇: C++存儲類