顺序表程序 知道哪错可就是不知道怎么改》那位高手能帮我看看,感谢!

Tinide 2013-03-11 10:50:01
下面是调试的结果






下面是代码
#include<iostream>
using namespace std;
typedef int DataType;
#define maxnum 20
typedef struct {
int data[maxnum];
int length;
}Seqlist;

void creatlist(Seqlist *L)
{
int n,i;
cout<<"请输入顺序表L的数据个数:\n";
cin>>n;

for( i=0;i<n;i++)//填充顺序表
{
cout<<"data[i]= ";
cin>>(*L).data[i];//这里有问题
//scanf("%d",&((*L).data[i]));
}

(*L).length=n;

}
//输出顺序表
void printout(Seqlist *L)
{
int i;
for(i=0;i<=(*L).length;i++)
{
cout<<"data[i]= ";
cout<<(*L).data[i];




}
return ;
}

void main()
{
Seqlist *L;
creatlist(L);
printout(L);

}
...全文
76 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2013-03-21
  • 打赏
  • 举报
回复
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处。 判断是否越界访问,可以在数组的最后一个元素之后对应的地址处设置数据读写断点。如果该地址对应其它变量干扰判断,可将数组多声明一个元素,并设置数据读写断点在该多出元素对应的地址上。
SHAOIT 2013-03-20
  • 打赏
  • 举报
回复
#include<iostream>
 using namespace std;
 typedef int DataType;
 #define maxnum 20
 typedef struct {
 int data[maxnum];
 int length;
 }Seqlist;

 void creatlist(Seqlist *&L)    //问题一
 {
 int n,i;
 cout<<"请输入顺序表L的数据个数:\n";
 cin>>n;
L=new  Seqlist;  //问题二
 for( i=0;i<n;i++)//填充顺序表
{
cout<<"data[i]= ";
 cin>>(*L).data[i];//这里有问题
//scanf("%d",&((*L).data[i]));
 }
 (*L).length=n;
 }
 //输出顺序表
void printout(Seqlist *L)
 {
 int i;
 for(i=0;i<(*L).length;i++)  //问题三
 {
 cout<<"data[i]= ";
 cout<<(*L).data[i];
 }
 return ;
 }
 void main()
 {
 Seqlist *L=NULL;
 creatlist(L);
 printout(L);

 } 
0天涯孤鸿0 2013-03-20
  • 打赏
  • 举报
回复
引用 4 楼 liujunmiaofang2012 的回复:
指针也要指向一块内存空间,才能够往里面存数据呀!就好像你入住旅馆,给你一个房卡,上面有房号,但是没有对应的房间。那你住哪儿呢?这里房号就是指针、你就是数据、房间就是内存空间!
+1
liujunmiaofang2012 2013-03-20
  • 打赏
  • 举报
回复
指针也要指向一块内存空间,才能够往里面存数据呀!就好像你入住旅馆,给你一个房卡,上面有房号,但是没有对应的房间。那你住哪儿呢?这里房号就是指针、你就是数据、房间就是内存空间!
漫步者、 2013-03-12
  • 打赏
  • 举报
回复
引用 1 楼 ganpengjin1 的回复:
Seqlist *L;请先给L分配合适的内存空间,然后再做实参传进去赋值
new/malloc
漫步者、 2013-03-12
  • 打赏
  • 举报
回复
Seqlist *L;请先给L分配合适的内存空间,然后再做实参传进去赋值
Tinide 2013-03-12
  • 打赏
  • 举报
回复
L是个指针啊 还用分配内存空间吗?

64,666

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧