//删除节点
struct Student*delet(struct Student*head)
{
struct Student*p1,*p2,*p3;
p1=(struct Student*)malloc(LEN);
printf("请输入要删除的学号");
scanf("%d",&p1->num);
n=p1->num;
p2=head;
while(n!=p2->num&&p2->next!=NULL)
{
p3=p2;
p2=p2->next;
}
if(n==p2->num)
{
if(p2==head)
{
head=head->next;
free(p2);
}
else
{
p3->next=p2->next;
free(p2);
}
}
else
{
printf("\n");
printf("找不到删除数据");
printf("\n");
}
return(head);
}
这是删除节点的函数 如果需要的话我把整个程序粘过来