3 回答
TA贡献1887条经验 获得超5个赞
fun.c
1 2 3 4 5 6 7 | extern int factorial(int n) { if (n == 1 || n == 0) return 1; else return n * factorial(n - 1); } |
maincontent.c
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #include <stdio.h>
int factorial(int);
int main() { int n, fact; printf("Please input an number:"); scanf("%d", &n); if (n <= 0) { printf("n must > 0 \n"); return 1; } printf("factorial(%d) = %d", n, factorial(n)); return 0; } |
TA贡献1876条经验 获得超7个赞
局部静态(static)变量,作用域为局部,而生命周期是全程。
静态局部变量属于静态存储方式,它具有以下特点:
(1)静态局部变量在函数内定义,但不象自动变量那样,当调用时就存在,退出函数时就消失。静态局部变量始终存在着,也就是说它的生存期为整个源程序。
(2)静态局部变量的生存期虽然为整个源程序,但是其作用域仍与自动变量相同,即只能在定义该变量的函数内使用该变量。退出该函数后, 尽管该变量还继续存在,但不能使用它。
- 3 回答
- 0 关注
- 601 浏览
添加回答
举报