用c语言【问题描述】使用递归编写一个函数fac实现求n的阶乘,并编写主函数调用fac函数,验证函数的正确性。
时间: 2024-02-26 09:58:00 浏览: 79
C语言函数的递归和调用实例分析
好的,下面就是 C 语言的代码实现:
```c
#include <stdio.h>
int fac(int n) {
if (n == 0) {
return 1; // 0 的阶乘为 1
} else {
return n * fac(n - 1); // 递归调用求解 n-1 的阶乘
}
}
int main() {
int n = 5;
printf("%d 的阶乘为:%d\n", n, fac(n)); // 输出 5 的阶乘
return 0;
}
```
这个函数使用了递归的思想,当 `n` 为 0 时,直接返回 1,否则递归调用 `fac(n - 1)` 并将结果乘以 `n`,得到 `n` 的阶乘。在主函数中,我们定义了一个整型变量 `n`,并输出它的阶乘,验证了 `fac` 函数的正确性。
阅读全文