单链表删除环节求指点
void delpeople(struct Phone **people){
struct Phone *temp;
char ch;
printf("请输入要删除的联系人:");
scanf("%s", ch);
fflush(stdin);
while(*people != NULL)
{
temp = *people;
*people = (*people)->next;
if(strcmp(ch, temp->name) == 0)
{
free(temp);
break;
}
}
}
采用的是头插法,为什么不能删除第一个输入的节点,一释放整个内存全部丢失,打印为空 刚刚看了一下发帖时间,你的这几个帖子,之前应该是在被审核,然后你又发了几个帖子。。。以后注意,发帖之后看不到帖子,应该就是在被审核。可以直接告诉相关版主,快速审核。不愿意说的话,等着就行了。重复大量发帖,有可能被关禁闭 好的好的 //试试这个,没有验证我也不知道对不对,错莫怪
void delpeople(struct Phone **people)
{
struct Phone *temp;
char ch;
printf("请输入要删除的联系人:");
scanf("%s", ch);
fflush(stdin);
while(*people != NULL)
{
temp = *people;
*people = (*people)->next;
if(strcmp(ch, (*people)->name) == 0)
{
free(temp->next);
temp->next=(*people)->next
break;
}
}
}
页:
[1]