c语言递归算法
时间: 2023-08-24 19:10:54 浏览: 85
递归是一种非常有用的算法,可以用来解决许多问题。在C语言中,递归函数是一种函数,可以在函数内部调用自身。以下是一个递归函数的例子,用于计算阶乘:
```c
#include <stdio.h>
int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n-1);
}
}
int main() {
int n = 5;
printf("Factorial of %d is %d", n, factorial(n));
return 0;
}
```
在这个例子中,递归函数 `factorial` 接收一个整数参数 `n`,并返回 `n` 的阶乘。如果 `n` 是0,则返回1;否则,返回 `n` 乘以 `factorial(n-1)`。这个函数将一直递归调用自己,直到 `n` 等于0为止。
注意,在使用递归时,需要特别注意递归的终止条件,否则程序可能会无限地递归下去,导致栈溢出。
阅读全文