zhaopengfei 发表于 2014-2-20 14:50:30

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

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

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

如图:

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

oggplay 发表于 2014-2-20 14:52:38

因为你的名字不行,88.......

zhaopengfei 发表于 2014-2-20 14:54:21

oggplay 发表于 2014-2-20 14:52 static/image/common/back.gif
因为你的名字不行,88.......

我其他的按照日期命名的都可以正常运行啊比如20140219等等

zhaopengfei 发表于 2014-2-20 14:56:55

oggplay 发表于 2014-2-20 14:52 static/image/common/back.gif
因为你的名字不行,88.......


改了名字还是不行!!

zhaopengfei 发表于 2014-2-20 15:38:08

阿波罗2014 发表于 2014-2-20 15:15 static/image/common/back.gif
数组越界了
for(n=2;n

明白了 ,谢谢了哈

未闻丶花名 发表于 2014-2-20 18:55:04

路过看看= =!

keya 发表于 2014-2-20 19:22:34

很明显的,定义的数组a,第一次循环的时候越界了,程序不挂才怪呢。

无名侠 发表于 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={1,1};
        int n;
        for(n=2;n<20;n++)
        {
                a=a+a;
        }
        for(n=0;n<20;n++)
        {
                printf("%d ",a);
        }
        printf("\n");
}
哈,给一个最佳!!!:big:big

Y_O_O_P 发表于 2014-2-20 20:13:11

一般这种停止要么是数组越界,,要么就是指针没有初始化就使用。。

zhaopengfei 发表于 2014-2-20 20:13:29

无名侠 发表于 2014-2-20 19:36 static/image/common/back.gif
数组访问越界了,C语言数组的启示下标是0,最后一个元素的下标是N-1(N为数组的长度)
for(n=2;n

感谢版主讲的这么详细,完全理解了。

zhaopengfei 发表于 2014-2-20 20:41:29

无名侠 发表于 2014-2-20 19:36 static/image/common/back.gif
数组访问越界了,C语言数组的启示下标是0,最后一个元素的下标是N-1(N为数组的长度)
for(n=2;n

怎么给最佳啊??? 我不会

无名侠 发表于 2014-2-20 21:39:14

zhaopengfei 发表于 2014-2-20 20:41 static/image/common/back.gif
怎么给最佳啊??? 我不会

我的帖子里面的右下角。

zhaopengfei 发表于 2014-2-20 21:46:48

无名侠 发表于 2014-2-20 21:39 static/image/common/back.gif
我的帖子里面的右下角。

没有啊都是些道具卡。

小甲鱼 发表于 2014-2-20 21:52:12

zhaopengfei 发表于 2014-2-20 21:46 static/image/common/back.gif
没有啊都是些道具卡。

在你认为最佳的回帖的右下角哈~

zhaopengfei 发表于 2014-2-20 23:39:16

小甲鱼 发表于 2014-2-20 21:52 static/image/common/back.gif
在你认为最佳的回帖的右下角哈~

可是,我的回帖的右下角只有: 使用道具评分举报这三个选项,木有设置为最佳答案呐。

小甲鱼 发表于 2014-2-21 18:17:22

zhaopengfei 发表于 2014-2-20 23:39 static/image/common/back.gif
可是,我的回帖的右下角只有: 使用道具评分举报这三个选项,木有设置为最佳答案呐。

发悬赏帖才有的~

zhaopengfei 发表于 2014-2-21 18:26:25

小甲鱼 发表于 2014-2-21 18:17 static/image/common/back.gif
发悬赏帖才有的~

怪不得别人说了我怎么都找不到。
页: [1]
查看完整版本: 我的程序为什么总是意外停止?