在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
相乘。
請注意,遞歸方法可能會導致棧溢出錯誤,特別是在處理大量數據時。在實際編程中,請確保正確處理邊界條件和遞歸深度限制。