在C++中,递归函数是一种调用自身的函数。要实现一个递归函数,您需要定义一个基本情况(base case)和一个递归情况(recursive case)。基本情况是函数处理的最简单问题,可以直接解决,而递归情况是将问题分解为更小的子问题,然后调用自身来解决这些子问题。
下面是一个简单的C++递归函数示例,用于计算阶乘:
#include <iostream> // 阶乘递归函数 unsigned long long factorial(int n) { // 基本情况:0的阶乘等于1 if (n == 0) { return 1; } // 递归情况:n的阶乘等于n乘以(n-1)的阶乘 else { return n * factorial(n - 1); } } int main() { int number; std::cout << "Enter a non-negative integer: "; std::cin >> number; // 计算阶乘并输出结果 unsigned long long result = factorial(number); std::cout << number << "! = " << result << std::endl; return 0; } 在这个示例中,factorial函数首先检查基本情况(n == 0),如果满足则返回1。如果不满足基本情况,函数将问题分解为更小的子问题(n * factorial(n - 1)),然后调用自身来解决这些子问题。最后,当递归到基本情况时,函数开始返回值并逐级解决更大的问题。