C语言,这个代码编译时候没有错误,执行的时候总是说出错。用的是VC++6.0 30

C语言,这个代码编译时候没有错误,执行的时候总是说出错。用的是VC++6.0#include<stdio.h>#include<malloc.h>structstuden... C语言,这个代码编译时候没有错误,执行的时候总是说出错。用的是VC++6.0#include<stdio.h>
#include<malloc.h>
struct student
{
long no;
char name[20];
char addr[20];
struct student *next;
};
typedef struct student list;
list *CreateList()
{
list *h,*pre,*cur;
int i,n;
h=NULL;
printf("请输入节点的个数n: ");
scanf("%d",&n);
for(i=0;i<n;i++)
{
cur = (list*)malloc(sizeof(list));
cur->next=NULL;
if(h=NULL)
h=cur;
else
pre->next=cur;
scanf("%d %s %s",&cur->no,cur->name,cur->addr);
pre=cur;
}
return h;
}
void DispList(list *h)
{
list *p;
p=h;
while(p!=NULL)
{
printf("%ld %s %s",p->no,p->name,p->addr);
p=p->next;
}
}
int main()
{
list *h;
h = CreateList();
printf("姓名 学号 地址");
DispList(h);
return 0;
}
展开
 我来答
White_MouseYBZ
2017-10-26 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6315万
展开全部
把if(h=NULL)改成if(h==NULL)试试……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
仙亦佛
2017-10-25 · TA获得超过366个赞
知道小有建树答主
回答量:707
采纳率:59%
帮助的人:420万
展开全部
pre没有初值,把h=NULL改为h=pre=NULL;应该没问题了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
靠谱儿妈妈
2017-10-26 · TA获得超过957个赞
知道小有建树答主
回答量:741
采纳率:74%
帮助的人:254万
展开全部
if(h=NULL)
修改为if(h==NULL)
scanf("%d %s %s",&cur->no,cur->name,cur->addr);
修改为scanf("%d %s %s",&(cur->no),cur->name,cur->addr);
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
钻石局小游
2017-10-25 · 超过14用户采纳过TA的回答
知道答主
回答量:144
采纳率:24%
帮助的人:16.3万
展开全部
没有头文件,
追问
有啊studio.h和malloc.h啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式