C++中的递归函数是一种函数自己调用自己的方法。递归函数通常用于解决可以分解为更小相似问题的问题,例如计算阶乘、斐波那契数列等。
下面是一个简单的C++递归函数示例,用于计算阶乘:
#include <iostream>
using namespace std;
// 阶乘函数
int factorial(int n) {
// 基本情况:如果n为0或1,返回1
if (n == 0 || n == 1) {
return 1;
}
// 递归情况:将问题分解为更小的问题,并将结果相乘
else {
return n * factorial(n - 1);
}
}
int main() {
int num = 5;
cout << "The factorial of " << num << " is: " << factorial(num) << endl;
return 0;
}
在这个例子中,factorial
函数接受一个整数n
作为参数。如果n
为0或1,函数返回1,这是基本情况。否则,函数将问题分解为更小的问题(n-1
的阶乘),并将结果与n
相乘,这是递归情况。
请注意,在使用递归函数时,确保有一个明确的基本情况,以避免无限递归。