StarZZZZ5 2021-07-14 17:08 采纳率: 100%
浏览 14
已采纳

删除的那个函数不被调用,怎么回事

#include<stdio.h>
#include<stdlib.h>
typedef struct LNode
{
int value;
struct LNode *next;
}LNode,*Linklist;

LNode list_TailInsert(Linklist &L)
{
int value;
L = (Linklist)malloc(sizeof(LNode));
LNode *head =L,*rear = L;
head->next = NULL;
head->value = NULL;
printf("请输入链表各个节点的值,输入9999表示结束:");
scanf("%d",&value);
while (value != 9999)
{
if(head->value== NULL)
{
head->value = value;
}
else
{
LNode *s;
s = (Linklist )malloc(sizeof(LNode));
s->value = value;
s->next=NULL;
rear->next = s;
rear = s;
}
scanf("%d",&value);
}
}
void Display(Linklist L)
{
LNode *p = L ;
while(p != NULL)
{
printf("%d ",p->value);
p = p->next;
}
}
void Del_x_3(Linklist &L,int value)
{
LNode *p;
if(L->value == NULL)
{
return;
}
if(p->value == value)
{
p=L;
L = L->next;
free(p);
Del_x_3(L,value);
}
else
{
Del_x_3(L->next,value);
}

}
int main()
{
Linklist L1;
list_TailInsert(L1);
Display(L1);
Del_x_3(L1,2);
Display(L1);

return 0;

}

  • 写回答

1条回答 默认 最新

  • CSDN专家-link 2021-07-14 17:11
    关注
    LNode *p;
    if(L->value == NULL)
    {
    return;
    }
    if(p->value == value)  //这里p都没有赋值呢 这句前加 p = L;
    {
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 7月14日
  • 创建了问题 7月14日