用c语言编写程序,用数组输出Fibonacci数列前50项哪里错了????

#include<stdio.h>intmain(){inta[50],i;a[0]=1;a[1]=2;printf("201723020602谷金鹏\n");print... #include<stdio.h>
int main()
{
int a[50],i;
a[0]=1;
a[1]=2;
printf("201723020602谷金鹏\n");
printf("1,");
for(i=1;i<=49;i++)
{
a[i]=a[i-1]+a[i-2];
printf("%d,",a[i]);
}
return 0;
}
展开
 我来答
My_Persistence
2017-12-15 · TA获得超过3467个赞
知道大有可为答主
回答量:1201
采纳率:81%
帮助的人:432万
展开全部
//我修改了你代码,把一些有问题的代码都注释了,现在运行结果应该没问题了的
#include<stdio.h>
/*
若干项之后,这个值已经超出了int所能表示的范围了,所以不能用int来表示
*/
typedef unsigned long long int uint64;
int main()
{
//int a[50],i;
uint64 a[50];
int i;
a[0]=1;
//a[1]=2;
a[1]=1;
printf("201723020602谷金鹏\n");
printf("1,1,");
//for(i=1;i<=49;i++)
for(i=2;i<50;i++)
{
a[i]=a[i-1]+a[i-2];
//printf("%d,",a[i]);
printf("%llu,",a[i]);
}
return 0;
}
百度网友0a75149
2017-12-15 · TA获得超过283个赞
知道小有建树答主
回答量:339
采纳率:87%
帮助的人:84.4万
展开全部
for循环里面,i=1的时候,a[i-2]就是a[-1]了,程序就崩了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cdyzxy
2017-12-15 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:85%
帮助的人:3740万
展开全部
printf("1 1 ");
for ( i=2;i<=49;i++ )
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2017-12-15
展开全部
for循环,第一步i=1,导致i-2=-1,访问越界了吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式