Mofixen 2022-09-08 23:02 采纳率: 60.9%
浏览 39
已结题

单链表打印出来为什么是乱码

void headinsert(linklist head)
{int i;
linklist s,p;
head=(linklist)malloc(sizeof(lnode));
p=(linklist)malloc(sizeof(lnode));
p=head;
head->next=NULL;
printf("请输入学号与姓名");
for(i=0;i<n;i++)
{s=(linklist)malloc(sizeof(lnode));
scanf("%s%s",s->num,s->name);
s->next=head->next;
head->next=s;
}
while(p!=NULL)
{printf("%s %s",p->num,p->name);
p=p->next;
}
return head;
}

  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2022-09-08 23:09
    关注

    你这是有头节点的链表,所以头节点不需要输出的。
    p = p->next;
    while(p!=NULL)
    {printf("%s %s",p->num,p->name);
    p=p->next;
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 9月16日
  • 已采纳回答 9月8日
  • 创建了问题 9月8日