为什么不能输出Fibonacci数列的前50个数
我编了一个显示Fibonacci数列前N位数的程序,但是当N大于45就不行了,好象是溢了,请哪位大哥看看下问题出在哪。
程序如下:
#include "Stdio.h"
#include "Conio.h"
int main()
{ int i;
long f[40];
f[0]=1,f[1]=1;
for(i=2;i<40;i++)
f[i]=f[i-1]+f[i-2];
for(i=0;i<40;i++)
{
if(i%5==0) printf("\n");
printf("%12ld",f[i]);
}
/* 此处添加你自己的代码 */
getch();
return 0;
}
这是显示前40位的代码,能成功,但是如果要输出前50个数,就会出现负数。