全局变量
有个小程序,求第N个斐波那契数的10007的余,1<N<1000000我的第一次代码
程序代码:#include<stdio.h>
#include <stdlib.h>
int main(){
int i,n,F[1000001];//。。
F[1]=1;
F[2]=1;
scanf("%d",&n);
for(i=3;i<=n;++i)
F[i]=(F[i-1]+F[i-2])%10007;
printf("%d\n",F[n]);
return 0;
}运行是提示运行出错,
修改为一下:把1000001改为100001;运行出来了,猜测是内存不够?感觉不太可能、、
再改:把数组定义放在全局变量
程序代码:#include<stdio.h>
#include <stdlib.h>
int F[1000001];//。。。。
int main(){
int i,n;
F[1]=1;
F[2]=1;
scanf("%d",&n);
for(i=3;i<=n;++i)
F[i]=(F[i-1]+F[i-2])%10007;
printf("%d\n",F[n]);
return 0;
}运行成功。
想问下为什么?谢谢。








