设计一个函数用静态变量实现阶乘计算结果C语言
时间: 2024-03-25 15:41:29 浏览: 64
C语言程序设计-求k!(k〈13),所求阶乘的值作为函数值返回;(要求使用递归).c
5星 · 资源好评率100%
好的,以下是一个使用静态变量实现阶乘计算结果的函数示例:
```c
int factorial(int n) {
static int result = 1;
result *= n;
if (n == 1) {
int res = result;
result = 1; // 重置静态变量
return res;
}
return factorial(n - 1);
}
```
这个函数的基本思路是使用一个静态变量 `result` 存储计算结果,每次调用 `factorial` 函数时,将 `n` 乘以 `result`,并且在 `n` 等于 1 时返回结果并重置 `result`,以便下一次计算。这样,每次调用 `factorial` 函数时,都使用上一次计算的结果,避免了重复计算阶乘。
阅读全文