| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2139 人关注过本帖
标题:提示段错误,但不知道错哪了
只看楼主 加入收藏
加奈
Rank: 1
等 级:新手上路
帖 子:15
专家分:6
注 册:2014-10-12
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:10 
提示段错误,但不知道错哪了
#include <stdio.h>
#include <stdlib.h>
struct ListNode {
    int data;
    struct ListNode *next;
};
struct ListNode *createlist()
{
    struct ListNode *p[30];
    int i,number,n,j;
    i=-1;
    for(j=0;j<30;j++)
        p[j]=NULL;
    scanf("%d",&number);
    while(number!=-1){
        i++;
        p[i]=(struct ListNode*)malloc(sizeof(struct ListNode));
           p[i]->data=number;
        scanf("%d",&number);
       }
    n=i;
    while(i!=0)
    {
        p[i]->next=p[i-1];
        i--;
    }
    p[0]->next=NULL;
    return p[n];
}

int main()
{
    struct ListNode *p, *head = NULL;

    head = createlist();
    for ( p = head; p != NULL; p = p->next )
        printf("%d ", p->data);
    printf("\n");

    return 0;
}
搜索更多相关主题的帖子: include number 
2015-09-24 16:37
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:4 
编译通过了,但输出输入不一致,你想排序还是。。。。

剑栈风樯各苦辛,别时冰雪到时春
2015-09-24 17:34
加奈
Rank: 1
等 级:新手上路
帖 子:15
专家分:6
注 册:2014-10-12
收藏
得分:0 
回复 2楼 林月儿
题目是:函数createlist利用scanf从输入中获取一系列正整数,当读到−1时表示输入结束。按输入数据的逆序建立一个链表,并返回链表头指针。
输入样例:

1 2 3 4 5 6 7 -1
输出样例:

7 6 5 4 3 2 1
我c-free上可以运行,没有乱码啊?
2015-09-24 18:05
加奈
Rank: 1
等 级:新手上路
帖 子:15
专家分:6
注 册:2014-10-12
收藏
得分:0 
虽然编程通过,但题目上交出现段错误,我只想知道错哪了,谢谢各位了
2015-09-24 18:07
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
我用的Dev-C++没报错,但是没有倒序打印

剑栈风樯各苦辛,别时冰雪到时春
2015-09-24 18:11
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:4 
createlist返回了局部数组变量

总有那身价贱的人给作业贴回复完整的代码
2015-09-24 20:10
加奈
Rank: 1
等 级:新手上路
帖 子:15
专家分:6
注 册:2014-10-12
收藏
得分:0 
回复 6楼 embed_xuel
这句话是什么意思,能详细说说吗?
2015-09-24 20:16
小王KING
Rank: 2
等 级:论坛游民
威 望:1
帖 子:29
专家分:69
注 册:2015-9-9
收藏
得分:4 
最后那句错误对你又没影响,你要解释,打开百度,把错误信息输入就有答案了
2015-09-25 06:25
白金伯爵
Rank: 2
等 级:论坛游民
帖 子:47
专家分:48
注 册:2015-9-21
收藏
得分:4 
只感觉调用函数里的for循环条件应该是:j==0,而不是j=0。第一个是比较,第二个是赋值。
其他没感觉出错。
新手浅见,希望能帮到你。
2015-09-25 17:39
jklqwe111
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:35
帖 子:336
专家分:1135
注 册:2014-4-13
收藏
得分:4 
代码没有明显的错误,运行也基本上达到目的,但有一个问题希望楼主考虑,struct ListNode *p[30];使用一个数组存放结构指针,为什么要这么做呢,按道理struct ListNode结构中已经有了存放指针的位置,再使用一个数组显得多余了,另外,使用了这个数组又会出现另一个问题,先说一下链表的一个特点,在添加或删除数据时是可以不考虑数据的数量的,增加3个与增加100都可以,你的代码中使用了数组,这一优点荡然无存,程序中定义了有30个元素的数组,当你输入31个以上的数据时就会出现问题,我想段错误大概由此而来。
2015-09-25 20:34
快速回复:提示段错误,但不知道错哪了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016244 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved