初学结构体遇到的结构体输入问题
程序编译通过,但是到输入完语文成绩敲回车之后,却显示Debug error,本人初学者,不知道Debug是什么,程序如下:#include<stdio.h>
#include<malloc.h>
struct score
{
float Chinese;
float Math;
float English;
float Lizong;
};
struct Student
{
int num;
char name[10];
struct score sc;
};
void input(struct Student * p,int i)
{
int j=0;
printf("请输入第%d个学生的信息:\n",i+1);
printf("学号:");
scanf("%d",&p[i].num);
printf("\n姓名:");
scanf("%s",p[i].name);
printf("\n语文成绩:");
scanf("%f",&p[i].sc.Chinese);
printf("\n数学成绩:");
scanf("%f",&p[i].sc.Math);
printf("\n外语成绩:");
scanf("%f",&p[i].sc.English);
printf("\n理综成绩:");
scanf("%f",&p[i].sc.Lizong);
}
int main(void)
{
int len,i;
struct Student st;
struct score sc;
struct Student * a;
printf("请输入学生数:");
scanf("%d",&len);
a=(struct Student *)malloc(sizeof(struct Student)*len);
printf("请输入学生信息:\n");
for(i=0;i<len;i++)
{
input(a,i);
}
return 0;
}