gpt4 book ai didi

c - 在C中删除链表中的重复项不起作用

转载 作者:行者123 更新时间:2023-11-30 19:13:44 27 4
gpt4 key购买 nike

所以我试图从链接列表中删除重复项,但此代码不起作用。我会输入单词列表,它会在“删除”之前和之后打印相同的列表。请提供一些帮助

typedef struct node {
char data[50];
struct node *next;
} *list;

void removeDuplicate(list words){
list o = NULL, t = NULL, d = NULL;
o = words;

while(o != NULL && o->next != NULL){
t = o;
while(t->next != NULL){
if(o->data == t->next->data){
d = t->next;
t->next = d->next->next;
free(d);
}
else{
t = t->next;
}
}
o = o->next;
}
}

最佳答案

您不能执行 if(o->data == t->next->data) 因为它们是指向 char 数组起始位置的指针,并且始终不同。尝试使用strcmp()

关于c - 在C中删除链表中的重复项不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35236873/

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