c语言基础,请帮忙看一下这段小程序!!!

2024-10-31 06:11:40
推荐回答(4个)
回答1:

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返回的地址,需要使用指针的~

回答2:

显示出来时一直在显示的是什么意思?

回答3:

自己好好看看这几句,画个图,将逻辑理顺了!

p->next=q->next;
q->next=p; //p插入到了q后
q=q->next; //q指向p
free(p); //又将p释放!!!

回答4:

会不会是free(p)的原因