C++教程-C++递归

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
我们可以通过下图来理解上述递归方法调用的过程: