数据结构的编程问题,编译时没有出错,但是无法运行

#include<iostream>usingnamespacestd;typedefstructSqList{int*elem;intlength;intlistsiz... #include <iostream>
using namespace std;
typedef struct SqList
{
int *elem;
int length;
int listsize;
int incrementsize;
}l;
int main()
{
int i;
SqList l;
for(i=0; i<5; i++)
{ cin>>l.elem[i];
cout<<l.elem[i];
}
return 1;
}
展开
 我来答
百度网友7ee05ad
2013-10-14 · 超过35用户采纳过TA的回答
知道答主
回答量:145
采纳率:0%
帮助的人:103万
展开全部
#include <iostream>
using namespace std;
typedef struct SqList
{
 int  *elem;
 int length;
 int listsize;
 int incrementsize;
}l;
int main()
{
 int i;
 SqList l;/*定义了l,但没有对l的内容进行初始化,所以l中的内容具体是多少只有系统知道,这样elem这个指针所指向的地址也就是不可预知的,下面直接对这个指针进行了赋值操作,当然就会有问题了*/
 for(i=0; i<5; i++)
 { cin>>l.elem[i];
     cout<<l.elem[i];
 }
 return 1;
}
百度网友5f84418
2013-10-14 · TA获得超过202个赞
知道答主
回答量:93
采纳率:0%
帮助的人:25.5万
展开全部
指向结构体的指针根本没有初始化,也就是没给他分配内存。
typedef struct SqList
{
int *elem;
int length;
int listsize;
int incrementsize;
}l;
int main()
{
int i;
SqList l;
l.listsize=10;
l.elem=new int[l.listsize];
for(i=0; i<5; i++)
{ cin>>l.elem[i];
cout<<l.elem[i];
}
return 1;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lzdidiv
2013-10-14 · TA获得超过1952个赞
知道大有可为答主
回答量:1949
采纳率:33%
帮助的人:1300万
展开全部
在for语句前面加上
l.elem = new int[5];
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式