【小白 用c语言写了一个链表,找不出来错】

#include
#include
typedef struct ListNode{
struct ListNode *next;
int data ;
}Node,*Pnode;
void init(Pnode Phead){
Phead = (Pnode)malloc(sizeof(Node));
Phead->next=NULL;
}
void rearinsert(Pnode Phead,int n,int a[]){
Pnode Prear,Pnew;
Prear=Phead;
for(int i=0;i Pnew = (Pnode)malloc(sizeof(Node));
Pnew->data= a[i];
Pnew->next=NULL;
Prear->next=Pnew;
Prear=Pnew;
}
}
void head_insert(Pnode Phead,int n,int a[]){
Pnode Pnew;
for(int i=0;i Pnew=(Pnode)malloc(sizeof(Node));
Pnew->data= a[i];
Pnew->next=Phead->next;
Phead->next=Pnew;
}
}
void display(Pnode list){
Pnode p=list->next;
while(p!=NULL){
printf("%d",p->data);
printf(" ");
p=p->next;
}
}
void destory(Pnode list){
Pnode p,pre;
p=pre=list;
while(pre!=NULL){
pre=p->next;
free(p);
p=pre;
}
free(pre);
}
int select(Pnode list ,int n){// 提取i号元素的数据
n=n-1;
Pnode p=list->next;
for(int i=0;i<=n;++i){
p=p->next;
}
return p->data;
}

void main(){
Pnode list;
int a[]={3,5,6,9};
int n=4;
init(list);
rearinsert(list,4,a);
display(list);
}

0

1个回答

首先,运行程序,测试它,看有什么不对。如果无法编译,根据编译器报错找到出错的行。
运行程序出错的话,你的程序有好几个函数,比如插入、显示、查找等等,总能找到出错的函数吧。
然后调试这个函数,看哪一步骤不对。
就算你实在找不到哪里错,也请你做完上面三步以后再提问!

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!