| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 777 人关注过本帖
标题:顺序表错误
只看楼主 加入收藏
peswe
Rank: 1
等 级:新手上路
帖 子:197
专家分:0
注 册:2006-11-22
收藏
 问题点数:0 回复次数:6 
顺序表错误

刚做了个顺序表,程序编译的时候没错,当运行的时候就有错,我估计是结构体指针出了问题,但就是不知道错在哪里,望各位大侠指点!
#include <stdio.h>
#define maxnum 20
typedef int elemtype;
struct qltype
{
elemtype list[maxnum];
int num;
};

void creat(qltype *la) /*建立顺序表*/
{
int i,n;
printf("\n please input the number of node:");
scanf("%d",&n);
la->num=n; //运行到这步就出错
printf("\n Input the content:");
for(i=0;i<n;i++)
{
printf("\n please input the ");
printf("%d",i);
printf("th number:");
scanf("%d",&la->list[i]);
}
for(i=0;i<n;i++)
printf("%d",la->list[i]);
}
int main()
{
struct qltype *la=0;
creat(la);
return 0;
}

[此贴子已经被作者于2007-4-15 14:13:56编辑过]

搜索更多相关主题的帖子: 顺序 
2007-04-15 14:12
xvholly
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-1-31
收藏
得分:0 
在Create()开始要新建一个结点 la = new qltype;
函数最后再释放该结点 delete la;

2007-04-15 16:23
peswe
Rank: 1
等 级:新手上路
帖 子:197
专家分:0
注 册:2006-11-22
收藏
得分:0 
这里la是指针,并不需要分配空间!~
不过还是谢谢了!我已经找到了错误!~

C斗士~~~fighting!!!!
2007-04-15 16:53
xvholly
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-1-31
收藏
得分:0 
但是我的理解是 la 初始化为 NULL , 并为指向任何位置.
LZ可否告诉我错误是哪里?

2007-04-16 13:14
Jackzdong
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2006-6-1
收藏
得分:0 
以下是引用peswe在2007-4-15 14:12:34的发言:

刚做了个顺序表,程序编译的时候没错,当运行的时候就有错,我估计是结构体指针出了问题,但就是不知道错在哪里,望各位大侠指点!
#include <stdio.h>
#define maxnum 20
typedef int elemtype;
struct qltype
{
elemtype list[maxnum];
int num;
};

void creat(qltype *la) /*建立顺序表*/
{
int i,n;
printf("\n please input the number of node:");
scanf("%d",&(la->num));
// la->num=n; //运行到这步就出错
printf("\n Input the content:");
for(i=0;i<la->num;i++)
{
printf("\n please input the ");
printf("%d",i);
printf("th number:");
scanf("%d",&la->list[i]);
}
for(i=0;i<la->num;i++)
printf("%d",la->list[i]);
}
int main()
{
struct qltype *la=0;
creat(la);
return 0;
}

在运行看看

[此贴子已经被作者于2007-4-16 16:19:57编辑过]

2007-04-16 16:18
peswe
Rank: 1
等 级:新手上路
帖 子:197
专家分:0
注 册:2006-11-22
收藏
得分:0 

给指针la初始化个结构体变量的值就可以了,如在main函数中输入:
struct qltype p1;
la=&p1;

还有楼上的意见是行不通的,就算你注释了这一行,但是下面还有调用指la的代码,所以运行到下面的时候还是有错误的。

[此贴子已经被作者于2007-4-16 16:28:32编辑过]


C斗士~~~fighting!!!!
2007-04-16 16:24
ycxlove
Rank: 1
来 自:贵州
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-3-30
收藏
得分:0 
struct qltype *la=0;这是对*a赋值吗?我认为这里有错误!不知道对不
我认为 struct qltype *la=(qltype)0;
2008-04-06 01:11
快速回复:顺序表错误
数据加载中...
 
   



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

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