刚学到单链表,发现free函数一用就报错:Trace/breakpoint trap,请问是什么原因呢😭
#include <stdio.h>
#include <stdlib.h>
struct node{
int c;//系数
int e;//指数
struct node *next=NULL;
};
void insert(int c,int e,node *head){
if(c==0){
return;
}
node *q;
q=(struct node*) malloc (sizeof(node));
q->c=c;
q->e=e;
q->next=head->next;
head->next=q;
//free(q)报错?
}
void read(node *head){
head=(struct node*) malloc (sizeof(node));
head->next=NULL;
int c,e;
while(1){
scanf("%d %d",&c,&e);
insert(c,e,head);
if(c==0){
return;
}
else{
head=head->next;
}
}
}//读入多项式
int main(){
node *f,*g;
read(f);
read(g);
return 0;
}