69,371
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
struct word
{
char c[20];
struct word *next;
};
void del_word(struct word **head,char *w)
{
struct word *pcur, *prev;
prev = *head;
if (strcmp(prev->c, w) == 0) {
*head = (*head)->next;
free(prev);
return;
}
pcur = (*head)->next;
while (pcur) {
if (strcmp(pcur->c, w) == 0) {
prev->next = pcur->next;
free(pcur);
return;
}
prev = pcur;
pcur = pcur->next;
}
}
参考一下吧;能够实现一次删除一个节点(若找到匹配w的word)
若要删除的节点是头结点,那么需要传二重指针进去,因此形参也是需要是二重指针。