gpt4 book ai didi

c - C中的链表删除函数问题

转载 作者:太空宇宙 更新时间:2023-11-04 08:25:43 29 4
gpt4 key购买 nike

所以我有一个链表,我试图删除输入的名称,但是删除函数无法在列表中找到该名称。我正在寻找逻辑缺陷,我需要一些帮助!

需要知道的一些知识:name是struct中的一个字符数组

 case 4:
if(head == NULL)
printf("List is Empty\n");
else
{
printf("Enter the name to delete : ");
scanf("%s",&user);

if(delete(user))
printf("%s deleted successfully\n",user);
else
printf("%s not found in the list\n",user);
}
break;




int delete(const char* input)
{
struct person *temp, *prev;
temp = head;

while(temp != NULL)
{
if(temp->name == input)
{
if(temp == head)
{
head = temp->next;
free(temp);
return 1;
}
else
{
prev->next = temp->next;
free(temp);
return 1;
}
}
else
{
prev = temp;
temp = temp->next;
}
}
return 0;
}

最佳答案

if(temp->name == input) 只是比较指针。尝试 if (strcmp(temp->name, input) == 0)...

关于c - C中的链表删除函数问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30586080/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com