问题比较多,我给你改了一下,你看看。
NT *he(NT *head)//删除某一结点
{
char name[20];
printf("请输入你要删除的结点(输入名字)");
scanf("%s",name);
NT *p1,*p2;
if(head==NULL)
{
printf("这是一个空链表");
return head;
}
p1=head;
while(strcmp(p1->name,name)!=0 && p1->next!=NULL)
{
p2=p1;
p1=p1->next;
}
if(strcmp(p1->name,name)==0)
{
if(p1==head)
head=p1->next;
else
p2->next=p1->next;
free(p1);
}
else
printf("没找到");
return (head);
}
scanf("%s",&name);