问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
void DeleteNode(struct Node *Head,char *Name)
{
Node *p=NULL;
p=Head;
for(int i=0;i<NodeCount;i++)
{
if(strcmp(p->Name,Name)==0)
{
if(p==Head)
{
p=Head->next;
free(Head);
newHead=p;
Head=newHead;
NodeCount--;
printf("删除成功");
return;
}
if(p->next==NULL)
{
p->pre->next=NULL;
free(p);
NodeCount--;
printf("删除成功");
return;
}
p->pre->next=p->next;
p->next->pre=p->pre;
free(p);
NodeCount--;
printf("删除成功");
return;
}
p=p->next;
}
printf("没有找到数据");
}
运行结果及报错内容
0xC0000005: 写入位置 0 时发生访问冲突
我的解答思路和尝试过的方法
已经搜索过 说是可能因为代码越界问题,但是不知道怎么更改!求解答