Runtime Error(STACK_OVERFLOW)该怎么办
一个斐波那契序列,F(0) = 0, F(1) = 1, F(n) = F(n-1) + F(n-2) (n>=2),根据n的值,计算斐波那契数F(n),其中0≤n≤1000#include<stdio.h>
void main()
{
long f[1005][5000]={0},T,i,j,n,t,c,p;
scanf("%ld",&T);
for(p=1;p<=T;p++)
{
scanf("%ld",&n);
f[1][0]=1;
t=1;
for(i=2;i<=n;i++)
{
for(j=0,c=0;j<t;j++)
{f[i][j]=f[i-1][j]+f[i-2][j]+c;
c=f[i][j]/10;f[i][j]=f[i][j]%10;}
while(c!=0)
{f[i][t]=c%10;c=c/10;t++;}
}
for(i=t-1;i>=0;i--)
printf("%ld",f[n][i]);
printf("\n");
}
}
为什么会出现这种情况,该怎么解决啊,求救高手!!!