递归函数是一种特殊的函数,它可以在函数体内调用自身。在 C 语言中,递归函数可以用于解决一些如阶乘、斐波那契数列等特定问题。以下是一个计算阶乘的递归函数的示例:
```c
#include
// 递归函数计算阶乘
int factorial(int n) {
if (n == 0) { // 基线条件,递归结束的地方
return 1;
} else { // 递归调用自身
return n * factorial(n - 1);
}
}
int main() {
int num;
printf("请输入一个数字: ");
scanf("%d", &num);
printf("阶乘结果为: %d\n", factorial(num)); // 使用递归函数计算阶乘并打印结果
return 0;
}
```
在上述代码中,`factorial` 函数是一个递归函数,用于计算给定数字的阶乘。当输入的数值为 0 时,函数返回 1(因为任何数的 0 次方等于 1)。否则,它会递归地调用自身来计算 n 的阶乘。在主函数中,我们从用户获取输入并调用 `factorial` 函数来计算阶乘结果。然后打印结果。这就是一个简单的递归函数的例子。请注意,递归函数必须有一个基线条件来结束递归过程,否则它将无限循环下去。在实际编程中,需要注意避免无限递归导致的栈溢出问题。