getchar()问题
程序代码:#include <stdio.h>
#include <stdlib.h>
int main()
{
struct Subject
{
int Chinese;
int math;
int English;
};
struct Student
{
int num;
char name[10];
char sex[10];
int age;
struct Subject score;
}student1;
int count=0;
printf("是否输入第一个学生成绩?(Y/N)?");
getchar();
while(getchar()=='Y')
{
printf("请输入第一个学生的数据:\n");
printf("请输入学号\n");
scanf("%d",&student1.num);
printf("请输入姓名:\n");
scanf("%s",student1.name);
printf("请输入性别:\n");
scanf("%s",student1.sex);
printf("请输入年龄:\n");
scanf("%d",&student1.age);
printf("请输入科目语文成绩:\n");
scanf("%d",&student1.score.Chinese);
printf("请输入科目数学成绩:\n");
scanf("%d",&student1.score.math);
printf("请输入科目英语成绩:\n");
scanf("%d",&student1.score.English);
printf("输入完毕,是否进行检查?(Y/N)\n");
char exam='Y';
getchar();
if(getchar()=='Y')
{
printf("学号 姓名 性别 年龄 语文 数学 英语\n");
printf("%-d\t%s\t%s\t%d\t%d\t%d\t%d\t\n",student1.num,student1.name,student1.sex,student1.age,student1.score.Chinese,student1.score.math,student1.score.English);
}
}
return 0;
}在是否输入第一个学生成绩那 当我输入Y时 getchar()记入的不是Y 而是\0 我想问下 怎样解决这个问题




