一个关于c数据结构的问题,急需兄弟们帮忙!
#include<stdio.h>#include<malloc.h>
#define N 6
struct lnode
{
int data;
struct lnode *next;
}*l;
void rinsert(struct lnode *l,int a[],int n)
{int i;
lnode *p,*s;
p=l->next;
for(i=0;i<n;i++)
{
s=(struct lnode*)malloc(sizeof(struct lnode));
s->data=a[i];
s->next=p->next;
p->next=s;
p=s;
}
p->next=NULL;
}
void printlist(struct lnode *l)
{struct lnode *p;
p=l->next;
printf("当前线性表为:\n");
while(p->next)
{
printf("%d",p->data);
p=p->next;
}
printf("%d",p->data);
}
void main()
{
struct lnode *b;
int a[N];
int i,elem;
printf("请输入线性表的元素:\n");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
b=(struct lnode*)malloc(sizeof(struct lnode));
b->next=NULL;printf("aaaaa");
rinsert(b,a,N);
printlist(b);
}
代码如上,但在c-free中输入好插入的元素后就报错,无法正常显示输入的元素。需大家帮忙。