我用类型返回就没有错误,用void返回就包内存错误,问题错在怎么返回过程没有错
#include<stdio.h>typedef struct lnode
{
int data;
struct lnode* next;
}*linklist;
void createlink(linklist L)
{
linklist head,p,r;
int i;
head=(linklist)malloc(sizeof(struct lnode));
head->next=NULL;
r=head;
for(i=-10;i<=10;i+=2)
{
p=(linklist)malloc(sizeof(struct lnode));
p->data=i;
r->next=p;
r=p;
}
r->next=NULL;
L=head;
}
void lprintf(linklist L)
{
linklist p;
p=(linklist)malloc(sizeof(struct lnode));
p=L->next;
for(;p!=NULL;)
{
printf("%d\t",p->data);
p=p->next;
}
putchar('\n');
}
int main()
{
linklist L,p,B,C;
createlink(L);
printf("数据已经成功生成:");
lprintf(L);
return 0;
}