问什么只能输入一次并且没有结果

img

年龄定义的是char,但下面输出的时候是%s,成绩是数组类型,应该依次输出

#include<stdio.h>
typedef struct student{
    long studentId;
    char studentName[10];
    char studentSex[10];
    int studentAge;
    int studentScore[4];
}STUDENT; 
int main() {
    STUDENT stu[5];
    int i,j;
    printf("请依次输入学生的学号,姓名,性别,年龄,语文成绩,数学成绩,英语成绩,程序设计成绩\n");
    for(i=0;i<5;i++){
        scanf("%ld",&stu[i].studentId);
        scanf("%s",stu[i].studentName);
        scanf("%s",stu[i].studentSex);
        scanf("%d",&stu[i].studentAge);
        for(j=0;j<4;j++){
            scanf("%d",&stu[i].studentScore[j]);
        }
    }
    printf("学号\t姓名\t性别\t年龄\t语文成绩\t数学成绩\t英语成绩\t程序设计成绩\n");
    for(i=0;i<5;i++){
        printf("%ld\t%s\t%s\t%d\t",stu[i].studentId,stu[i].studentName,stu[i].studentSex,stu[i].studentAge);
        for(j=0;j<4;j++){
            printf("%d\t",stu[i].studentScore[j]);
        }
        printf("\n");
    }
    return 0;
}

每个scanf函数后面加一行语句,fflush( stdin);

scanf("%c",&stu[i].studentSex);