C++递归

递归(Recursion)是指在函数内部调用自身的过程。调用自身的函数称为递归函数。

当一个函数在自身内部调用自身,并且在函数调用后没有执行任何任务时,称为尾递归。在尾递归中,通常使用返回语句调用同一个函数。

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

cppCopy code
void recursionfunction() {    
    recursionfunction(); // 调用自身的函数    
}

C++递归示例

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

cppCopy code
#include<iostream>  
using namespace std;    

int factorial(int);

int main() {
    int value, fact;
    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); /* 错误的值 */
    if (n == 0)
        return (1); /* 终止条件 */
    else {
        return (n * factorial(n - 1));
    }
}

输出:

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

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

1.png

标签: C++语言, C++语言教程, C++语言技术, C++语言学习, C++语言学习教程, C++语言下载, C++语言开发, C++语言入门教程, C++语言进阶教程, C++语言高级教程, C++语言面试题, C++语言笔试题, C++语言编程思想