结构体成员存储无法输出问题
程序代码:
#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