这是我打印斐波那契数列的代码
#include <stdio.h>
#include <conio.h>
int main(void)
{
long int i,firstno=1,secondno=1;
printf("%d\n%d\n",firstno,secondno);
for(i=0;i<8;i++){
int temp = secondno;
secondno = secondno+firstno;
firstno = temp;
printf("%d\n",firstno);
}return 0;
}
如果我必须打印前 90 个斐波那契数,它工作正常,但如果我必须打印 200000 个,它会开始给出大的垃圾值?为什么会发生这种情况?我该如何阻止这种情况并改进我的代码?
最佳答案
您赋予变量的值将超过 long int 的最大范围。所以这就是打印垃圾值的原因。
关于c - 如果我必须打印大量斐波那契数列,为什么我的打印斐波那契数列代码不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27330036/