永发信息网

c中当输出的是空链表则打印错误警告但是报运行错误!

答案:2  悬赏:80  手机版
解决时间 2021-06-09 16:22
  • 提问者网友:伴风望海
  • 2021-06-08 20:41
void Output(stu *head) //显示函数
{
//出错部分!无法进入到判断直接报运行错误(无编译错误)
while(p!=NULL)
{
printf("学号: %s",p->num);
printf("\n姓名: %s",p->name);
printf("\n性别: %s",p->sex);
printf("\n年龄: %d",p->age);
p=p->next;
}
printf("\n");
getchar();
}
最佳答案
  • 五星知识达人网友:底特律间谍
  • 2021-06-08 21:50

其实本不该这么做!


你的head是表头吧!


表头本应该指向第一个节点,也就是说表头里面的变量元素除了指向下一个节点的指针外


剩下的变量均不能复制!


我估计你是这句话报错了!


stu *p;
p=head;


因为需要在内存分配空间给p指针哈!


在这两句中间加上一句p=(stu *)malloc(sizeof(stu));看看~?


应该就没错了!


还有你的编程规范哈!不太好看额!

全部回答
  • 1楼网友:雪起风沙痕
  • 2021-06-08 22:47

如果你的链表非空这段就不执行了,

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯