【为啥】程序开始运行就停止工作
#include<malloc.h>
#include<iostream>
#include<stdio.h>
#include<string>
#include<stdlib.h>
using namespace std;
typedef struct
{
string data[50];
int length;
}sqlist;
struct student
{
int num;
string name;
float score1;
float score2;
float score3;
};
student stu[2];
void creatlist(sqlist *l,struct student stu) ;
void DispList(sqlist *l);
void unionlist(sqlist *,sqlist *,sqlist *&);
void main()
{
sqlist *sqa=NULL, *sqb=NULL, *sqc;
cout<<"请输入学生信息: 学号 姓名 分数1 分数2 "<<endl;
cin>>stu[0].num>>stu[0].name>>stu[0].score1>>stu[0].score2;
creatlist(sqa,stu[0]);
cout<<"请输入学生信息:/n 学号 姓名 分数1 分数3 "<<endl;
cin>>stu[1].num>>stu[1].name>>stu[1].score1>>stu[1].score3;
creatlist(sqb,stu[1]);
unionlist(sqa,sqb,sqc);
DispList(sqc);
}
void creatlist(sqlist *l,struct student stu)
{
l=(sqlist *)malloc(sizeof(sqlist));
l->data[0]=stu.num;
l->data[1]=stu.name;
l->data[2]=stu.score1;
l->data[3]=stu.score2;
}
void DispList(sqlist *l)
{
int i;
for(i=0;i<l->length;i++)
{
printf("%d ",l->data[i]);
}
printf("\n");
}
void unionlist(sqlist *a,sqlist *b,sqlist *&c)
{
c=(sqlist *)malloc(sizeof(sqlist));
int i,j=0,k=0,l=0;
c->length=0;
for(i=0;i<a->length;i++)
{
c->data[i]=a->data[i];
c->length++;
}
while(j<b->length)
{
c->data[i]=b->data[j];
i++;
c->length++;
}
}