C语言利用静态局部变量编写函数计算n的阶乘
时间: 2024-05-13 14:18:16 浏览: 102
[例]静态局部变量的应用-函数、预处理
以下是利用静态局部变量编写函数计算n的阶乘的C语言代码:
```c
#include <stdio.h>
int factorial(int n) {
static int result = 1;
if (n == 0) {
return result;
}
result *= n;
return factorial(n-1);
}
int main() {
int n = 5;
printf("Factorial of %d is %d\n", n, factorial(n));
return 0;
}
```
在这个函数中,我们使用了一个静态局部变量 `result` 来存储计算过程中的中间结果。静态局部变量只会在函数第一次被调用时被初始化,之后保留其值。这样,在每次函数被调用时,我们都可以使用已经计算好的中间结果,而不需要重新计算。
阅读全文