使用共用体时,输出数字成功,不输出字符

img


#include<stdio.h>
struct studtype
{
int num;
char name[20];
int age;
union
{
int score;
char grade;
}a;
};
int main()
{
int N,i,t=0;
scanf("%d", &N);
struct studtype stu[N];
for(i=0;i<N;i++)
{
getchar();
scanf("%d%s%d",&stu[i].num,stu[i].name,&stu[i].age);
if(stu[i].age<30)
{
scanf("%d",&stu[i].a.score);
}
else
{
scanf("%c",&stu[i].a.grade);
}
}
for(i=0;i<N;i++)
{
if(stu[i].age<30)
{
if(stu[i].a.score>=60)
{
printf("%d\n",stu[i].a.score);
t++;
}
}
else
{
if(stu[i].a.grade<='C')
{
printf("%c\n",stu[i].a.grade);
t++;
}
}
}
printf("%d",t);
return 0;
}

img