只有当函数被调用时, 其形参和局部变量才被分配了内存, 一旦调用结束, 其空间将被回收.根据这种特性, 把局部变量称为自动变量.
定义形式 : auto int x, y;
在定义时, auto一般省略.
静态变量赋初始值只有在函数第一次调用时起作用, 若没有赋初始值,系统自动赋0.
1 #include<stdio.h> 2 double fact_s(int i){ 3 static double f = 1; 4 f = f * i; 5 return f; 6 } 7 int main(void){ 8 int i; 9 for(i = 1; i <= 10; i++){ 10 printf("%d!, %0.f\n", i, fact_s(i)); 11 } 12 return 0; 13 }