用C语言实现一个简单的学生信息的输入和输出,但是程序用VS2015调试出现问题,请大神帮忙看下是哪里出现了问题
用C语言实现一个简单的学生信息的输入和输出,但是程序用VS2015调试出现问题,在执行输入函数的第二次循环的时候,就直接结束了
请大神看下是哪里出了问题,谢谢.
/*输入学生的信息并输出*/
#include <stdio.h>
struct student
{
int num;
char name[50];
float score;
};
//输入函数
void input(struct student **p, int len)
{
int i;
for (i = 0;i < len;i++)
{
printf("请输入学生的学号:");
scanf_s("%d", &p[i]->num);
printf("请输入学生的姓名:");
scanf_s("%s", p[i]->name, 49);
printf("请输入学生的成绩:");
scanf_s("%f", &p[i]->score);
}
}
int main(void)
{
int len;
int i;
struct student *pArr;
printf("请输入要录入学生信息的学生的个数\n");
scanf_s("%d",&len);
pArr = (struct student *)malloc(len*sizeof(struct student));
//输入
/*for (i = 0;i < len;i++)
{
printf("请输入学生的学号:");
scanf_s("%d",&pArr[i].num);
printf("请输入学生的姓名:");
scanf_s("%s", pArr[i].name,49);
printf("请输入学生的成绩:");
scanf_s("%f", &pArr[i].score);
}*/
input(&pArr,len); //调用函数
//输出
printf("学号\t姓名\t成绩\n");
printf("------------------------------\n");
for (i = 0;i < len;i++)
{
printf("%d\t%s\t%.2f\n",pArr[i].num,pArr[i].name,pArr[i].score);
}
return 0;
}
输出结果:
------------------------------------
请输入要录入学生信息的学生的个数
3
请输入学生的学号:1
请输入学生的姓名:1
请输入学生的成绩:1
请输入学生的学号:2
请按任意键继续. . .
-------------------------------------