void conglianbiaozhongshancuyuansu(nodes* head,int x)
{
nodes* p = head;
nodes* y = head->next;
while (p->next!= NULL)
{
if (y->data == x)
{
p->next = y->next;
free(y);
}
p = p->next;//警告c6001
y = y->next;//警告c6001
if (y == NULL)
{
printf("在该链表中未找到此元素\n");
exit(-1);
}
}
}
不明白为什么会警告,也不知道怎么改,哪位大佬可以帮我看看
p->next = y->next;就有问题了啊。y在循环中没有变化,一旦你free了y,下一次循环执行到y->data就会崩溃的