斐波那契数列 求指点错误
到46项就成了负数 又或者反复试验45项也会发生这样的情况 我试过long定义变量 也会发生这样的问题 求解释啊!!!#include <stdio.h>
int main (void)
{
int n;
int i;
int f1,f2,f3 ;
f1=1;
f2=2;
do{
printf("请输入你想知道的菲波拉契序列:");
scanf("%d",&n);
if(1 == n)
{
f3 = f1;
}
else if(2 == n)
{
f3 = f2;
}
else
{
for(i=3;i<=n; ++i)
{
f3=f1+f2;
f1=f2;
f2=f3;
}
}
printf("序列数是:%ld\n",f3);
}while (1);
return 0;
}