鱼C论坛

 找回密码
 立即注册
查看: 3205|回复: 16

我的程序为什么总是意外停止?

[复制链接]
发表于 2014-2-20 14:50:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
源代码是这样的,这就是计算那个斐波拉契数列:
#include <stdio.h>

void main()
{
        int a[20]={1,1};
        int n;
        for(n=2;n<=20;n++)
        {
                a[n]=a[n-1]+a[n-2];
        }
        for(n=0;n<20;n++)
        {
                printf("%d ",a[n]);
        }
        printf("\n");
}

如图:
DNQ1JHBV_O~}66PHER4OJ_W.jpg
然后就正常显示了,不知道为什么呢??  怎么会这样子。
file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\1149856626\QQ\WinTemp\RichOle\DNQ1JHBV_O~}66PHER4OJ_W.jpg

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-2-20 14:52:38 | 显示全部楼层
因为你的名字不行,88.......
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-20 14:54:21 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-20 14:56:55 | 显示全部楼层
oggplay 发表于 2014-2-20 14:52
因为你的名字不行,88.......

YZ_QJEV9T2R0`A88J7FO@WB.jpg
改了名字还是不行!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-20 15:38:08 | 显示全部楼层
阿波罗2014 发表于 2014-2-20 15:15
数组越界了
for(n=2;n

明白了 ,谢谢了哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-20 18:55:04 | 显示全部楼层
路过看看= =!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-20 19:22:34 | 显示全部楼层
很明显的,定义的数组a,第一次循环的时候越界了,程序不挂才怪呢。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-20 19:36:44 | 显示全部楼层
数组访问越界了,C语言数组的启示下标是0,最后一个元素的下标是N-1(N为数组的长度)
  for(n=2;n<=20;n++) 这里就有问题,n<=20 也就是说n=20的时候还要访问数组,你的数组长度是 20
有效的下标是0-19,楼主改成这样就可以了  for(n=2;n<20;n++)
完整代码:
#include <stdio.h>
void main()
{
        int a[20]={1,1};
        int n;
        for(n=2;n<20;n++)
        {
                a[n]=a[n-1]+a[n-2];
        }
        for(n=0;n<20;n++)
        {
                printf("%d ",a[n]);
        }
        printf("\n");
}
哈,给一个最佳!!!:big:big
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-20 20:13:11 | 显示全部楼层
一般这种停止要么是数组越界,,要么就是指针没有初始化就使用。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-20 20:13:29 | 显示全部楼层
无名侠 发表于 2014-2-20 19:36
数组访问越界了,C语言数组的启示下标是0,最后一个元素的下标是N-1(N为数组的长度)
  for(n=2;n

感谢版主讲的这么详细,完全理解了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-20 20:41:29 | 显示全部楼层
无名侠 发表于 2014-2-20 19:36
数组访问越界了,C语言数组的启示下标是0,最后一个元素的下标是N-1(N为数组的长度)
  for(n=2;n

怎么给最佳啊??? 我不会
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-20 21:39:14 | 显示全部楼层
zhaopengfei 发表于 2014-2-20 20:41
怎么给最佳啊??? 我不会

我的帖子里面的右下角。

评分

参与人数 1鱼币 +1 收起 理由
zhaopengfei + 1 很好的答案

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-20 21:46:48 | 显示全部楼层
无名侠 发表于 2014-2-20 21:39
我的帖子里面的右下角。

没有啊  都是些道具卡。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-20 21:52:12 | 显示全部楼层
zhaopengfei 发表于 2014-2-20 21:46
没有啊  都是些道具卡。

在你认为最佳的回帖的右下角哈~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-20 23:39:16 | 显示全部楼层
小甲鱼 发表于 2014-2-20 21:52
在你认为最佳的回帖的右下角哈~

可是,我的回帖的右下角只有: 使用道具  评分  举报  这三个选项,木有设置为最佳答案呐。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-21 18:17:22 | 显示全部楼层
zhaopengfei 发表于 2014-2-20 23:39
可是,我的回帖的右下角只有: 使用道具  评分  举报  这三个选项,木有设置为最佳答案呐。

发悬赏帖才有的~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-21 18:26:25 | 显示全部楼层
小甲鱼 发表于 2014-2-21 18:17
发悬赏帖才有的~

怪不得别人说了我怎么都找不到。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 19:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表