void Creat(LinkList *L,int term)
{
L = (LinkList*)malloc(sizeof(LNode)); //生成结点的头指针;
L->next = NULL;
LinkList *q=L;
ElemType *e;
for(int i = 1;i<=term;i++){ //遍历term项的
LinkList *p = (LinkList *)malloc(sizeof(LNode));
e=&p->data;
scanf("%f %d",&e->coef,&e->expn);
p->next=NULL;
q->next=p;
q=q->next;
//free(p);
}
}
注意malloc返回的地址,需要使用指针的~
显示出来时一直在显示的是什么意思?
自己好好看看这几句,画个图,将逻辑理顺了!
p->next=q->next;
q->next=p; //p插入到了q后
q=q->next; //q指向p
free(p); //又将p释放!!!
会不会是free(p)的原因