标题:help!!!
只看楼主
紫色梦幻2323
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-10-7
结帖率:0
已结贴  问题点数:20 回复次数:2 
help!!!
#include <stdio.h>
#define MaxSize 50
#include <malloc.h>
typedef struct{
    int elem[MaxSize];
    int length;
}SqList;
void InitList(SqList *L)
{
    L=(SqList *)malloc(sizeof(SqList));
    L->length=0;
}
void GetElem(SqList *L,int n)
{
    int i;
    printf("please input the data of the Elem:\n");
    for(i = 0;i<L->length;i++)
        scanf("%d",&(L->elem[i]));
}
void DispList(SqList *L)
{
    int k;
    for(k = 0;k<L->length;k++)
        printf("%d",L->elem[k]);
    printf("\n");
}
int main()
{
    int N=5;
    SqList *L;
    void InitList(L);
    void GetElem(L,N);
    void DispList(L);
    return 0;   
}我就是不明白这个程序为什么没有结果呢!我本来想设计的一个线性表!但没有达到预期的目标。
搜索更多相关主题的帖子: void please include 
2012-10-07 09:29
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
得分:20 
改成
void GetElem(SqList *L,int n)
{
    int i;
    printf("please input the data of the Elem:\n");
    for(i = 0;i < n;i++)
    scanf("%d",&(L->elem[i]));
    L->length = n;
 }

而且你的线性表设计很不合理。使用一个固定数组长度,那还要那个外层结构干什么?还动态申请内存干什么?都很多余。

如果你是刚学到这里,想做点小实验,建议你尝试动态调整elem的大小,或者用链表结构。

另外,虽然我给你修改在代码里没添加,但自己要有检查数组边界的意识。


重剑无锋,大巧不工
2012-10-07 10:06
紫色梦幻2323
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-10-7
得分:0 
谢谢指导!
2012-10-07 10:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-382648-1-1.html




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

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