阅读量:0
在C语言中实现递归方法,首先需要定义一个函数,该函数在其内部调用自身
#include<stdio.h> // 阶乘函数的递归实现 long long factorial(int n) { if (n == 0 || n == 1) { // 基本情况 return 1; } else { return n * factorial(n - 1); // 递归调用 } } int main() { int num; printf("Enter a positive integer: "); scanf("%d", &num); if (num < 0) { printf("Factorial is not defined for negative numbers.\n"); } else { printf("Factorial of %d = %lld\n", num, factorial(num)); } return 0; }
在这个例子中,factorial
函数接收一个整数参数n
。如果n
等于0或1,函数返回1(基本情况)。否则,函数通过将问题规模缩小到n-1
来进行递归调用,并将结果与n
相乘。
请注意,递归方法可能会导致栈溢出错误,特别是在处理大量数据时。在实际编程中,请确保正确处理边界条件和递归深度限制。