c语言建立有序顺序表时遇到了问题,求大家指点

我的代码能运行,但是没有显示
#include
#include
#include
struct Stud
{
int number;
char name[20];
float point;
};

typedef struct
{
struct Stud *stu;
int length;
int listsize;
}Sqlist;

void CreatList(Sqlist*L)
{
L->stu = (struct Stud*)malloc(sizeof(struct Stud));
L->length=0;
L->listsize=50;
}

void insert(Sqlist*L,int i,struct Stud a)
{
int k;
if(L->length>=L->listsize)
{
L->stu=(struct Stud*)realloc(L->stu,(L->listsize+10)*sizeof(struct Stud));
}
for(k=L->length;k>i-1;k--)
L->stu[k+1]=L->stu[k];
L->stu[i-1].number=a.number;
strcpy(L->stu[i-1].name,a.name);
L->stu[i-1].point=a.point;
L->length++;
}

void delet(Sqlist*L,int i)
{
int k;
for(k=i;k<=L->length;k++)
L->stu[k-1]=L->stu[k];
L->length--;
}

void printlist(Sqlist*L)
{
int i;
for(i=1;i<=L->length;i++)
printf("学号%d 姓名:%s 成绩:%f\n",L->stu[i-1].number,L->stu[i-1].name,L->stu[i-1].point);
}

int main()
{
int i;
struct Stud a,Stu[10]={
{1001,"M1",68.0},{1002,"M2",70.0},{1003,"M4",73.0},{1004,"M5",76.0},{1005,"M7",78.0},
{1006,"M8",80.0},{1007,"M10",83.0},{1008,"M12",85.0},{1009,"M13",86.0},{1010,"M14",87.0}
};
Sqlist pl=(Sqlist)malloc(sizeof(Sqlist));
CreatList(pl);
for(i=1;i<=10;i++)
insert(pl,i,Stu[i-1]);
aa:
printlist(pl);
printf("输入1添加学生信息,输入-1删除学生信息,输入0结束\n");
scanf("%d",&i);
if(i==1)
{
printf("请输入学生信息(学号,名字,分数\n");
scanf("%d,%s,%f",&a.number,&a.name,&a.point);
i=1;
while(a.point>=Stu[i-1].point) i++;
insert(pl,i,a);
goto aa;
}
else if(i=-1)
{
printf("请输入要删除学生信息的序号?\n");
scanf("%d",&i);
delet(pl,i);
goto aa;
}
return 0;
}图片说明

用结构体(struct)储存一组数据(数据包括学号、名字、分数),再定义一个这个结构体的数组。