在C語言中,遞歸方法的參數傳遞規則與普通函數的參數傳遞規則相同。參數可以是基本數據類型、結構體、指針等。當調用遞歸函數時,實際參數會被傳遞給形式參數,然后在函數內部進行處理。遞歸函數的關鍵在于正確地定義基本情況(base case)和遞歸情況(recursive case)。
以下是一個簡單的遞歸函數示例,用于計算階乘:
#include<stdio.h>
// 遞歸函數定義
long long factorial(int n) {
if (n == 0) { // 基本情況
return 1;
} else { // 遞歸情況
return n * factorial(n - 1);
}
}
int main() {
int num = 5;
printf("Factorial of %d = %lld\n", num, factorial(num));
return 0;
}
在這個例子中,factorial
函數接受一個整數參數n
。當n
為0時,函數返回1作為基本情況。否則,函數返回n
乘以factorial(n - 1)
的結果,這是遞歸情況。這里的參數傳遞規則與普通函數相同,只是在遞歸調用時需要注意參數的變化。