结构体成员存储无法输出问题
程序代码:#include <stdio.h>
#include <stdlib.h>
typedef struct Student Student;
struct Student
{
int math_grade;
int chinese_grade;
int english_grade;
char student_name[];
};
int main()
{
Student studentA;
Student studentB;
Student studentC;
//引导输入第一个学生的数据。
printf("请输入第一个学生的名字:");
scanf("%s",studentA.student_name);
printf("\n");
printf("请输入%s的数学成绩:",studentA.student_name);
scanf("%d",&studentA.math_grade);
printf("\n");
printf("请输入%s的语文成绩:",studentA.student_name);
scanf("%d",&studentA.chinese_grade);
printf("\n");
printf("请输入%s的英语成绩:",studentA.student_name);
scanf("%d",&studentA.english_grade);
printf("%d %d %d",studentA.math_grade,studentA.chinese_grade,studentA.english_grade);
printf("\n");
//引导输入第二个学生的数据。
printf("请输入第二个学生的名字:");
scanf("%s",studentB.student_name);
printf("\n");
printf("请输入%s的数学成绩:",studentB.student_name);
scanf("%d",&studentB.math_grade);
printf("\n");
printf("请输入%s的语文成绩:",studentB.student_name);
scanf("%d",&studentB.chinese_grade);
printf("\n");
printf("请输入%s的英语成绩:",studentB.student_name);
scanf("%d",&studentB.english_grade);
printf("%d %d %d",studentB.math_grade,studentB.chinese_grade,studentB.english_grade);
printf("\n");
//引导输入第三个学生的数据。
printf("\n");
printf("请输入第三个学生的名字:");
scanf("%s",studentC.student_name);
printf("\n");
printf("请输入%s的数学成绩:",studentC.student_name);
scanf("%d",&studentC.math_grade);
printf("\n");
printf("请输入%s的语文成绩:",studentC.student_name);
scanf("%d",&studentC.chinese_grade);
printf("\n");
printf("请输入%s的英语成绩:",studentC.student_name);
scanf("%d",&studentC.english_grade);
printf("%d %d %d",studentC.math_grade,studentC.chinese_grade,studentC.english_grade);
printf("\n");
printf("下面输出成绩单:\n");
putchar(10);
//输出成绩单。
printf("姓名\t数学\t语文\t英语\t\n");
printf("%s\t%d\t%d\t\n",studentA.student_name,studentA.math_grade,studentA.chinese_grade,studentA.english_grade);
printf("%s\t%d\t%d\t\n",studentB.student_name,studentB.math_grade,studentB.chinese_grade,studentB.english_grade);
printf("%s\t%d\t%d\t\n",studentC.student_name,studentC.math_grade,studentC.chinese_grade,studentC.english_grade);
system("pause");
return 0;
}
下面是程序 运行截图,请问为什么会出现这种情况。。。
本人使用的编译器:visual studio 2010









