关于静态存储类的疑问
一个求n!的源文件#include <stdio.h>
void main()
{
int fac(int);
int i;
for(i=1;i<=10;i++)
printf("%d!=%d\n",i,fac(i));
}
int fac(int n)
{
static int y=1;
y=y*n;
return y;
}
这样就没有问题!
但是这样问题就来了
#include <stdio.h>
void main()
{
int fac(int);
int i;
for(i=1;i<=10;i++)
printf("%d!=%d\n",i,fac(i));
}
int fac(int n)
{
static int y;
y=1;
y=y*n;
return y;
}
是不是在使用static定义时,只能在定义的时候就赋值?