为什么最后运行时有错误啊????请指教
#include<stdio.h>#include<stdlib.h>
typedef struct LNode
{
int number;
char name[10];
double mathstore;
struct LNode *next;
}LNode,*Linklist;
Linklist createlist(int n);
int main()
{ int n;
printf("请输入需要输入的学生人数:\n");
scanf("%d",&n);
createlist(n);
return 0;
}
Linklist createlist(int n)
{
Linklist L,cur;
LNode *p;
char temp,ch;int j=0;
L=(Linklist)malloc(sizeof(LNode));
cur=(Linklist)malloc(sizeof(LNode));
L->next=NULL; //建一个空表。
for(int i=n;i>0;i--)
{
p=(Linklist)malloc(sizeof(LNode));//生成新节点。
printf("请输入学生的学号:\n");
scanf("%d",&p->number);
printf("请输入该生的姓名:\n");
temp=getchar();
ch=getchar();
while(ch!='\n')
{
scanf("%c",&p->name[j]);
j++;
ch=getchar();
}
p->name[j]='\0';
printf("请输入该生的数学成绩:\n");
scanf("%lf",&p->mathstore);
L->next=p;
p->next=cur;
cur=p;
}
return L;
}