#include<stdio.h>
int Fact(int n);
int main()
{
int i,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
printf("%d!=%d\n",i,Fact(i));
}
return 0;
}
int Fact(int n)
{
static int p=1;//静态局部变量只初始化一次,离开函数时值保留
p=p*n;
return p;
}
6
1!=1
2!=2
3!=6
4!=24
5!=120
6!=720
--------------------------------
Process exited after 1.616 seconds with return value 0
请按任意键继续. . .
有时希望函数中的局部变量的值在函数调用结束后不消失而保留原值,即其占用的存储单元不释放,在下一次该函数调用时,该变量保留上一次函数调用结束时的值。这时就应该指定该局部变量为静态局部变量(static local variable)。