学生成绩管理系统
本帖最后由 saberAMD 于 2019-4-27 09:30 编辑for(i=0;i<MAX;i++)
{
printf("姓名:");
scanf("%s",stu.name);//stu后面有个【i】没显示出来,不知道为什么
printf("是否继续输入学生信息:(Y 继续,N 返回主菜单)\n");
change = getchar();
if(change=='Y')
{
system("cls");
}
else if(change=='N')
{
break;
}
}
请问下这里为什么没起作用 谢谢 本帖最后由 我叫MD 于 2019-4-27 11:40 编辑
getchar(); //先获取上字符
change = getchae(); //在赋值;
或者 把change = getchae();这行去了,直接下面这样
if(getchar() == 'Y')
{
}
else if (getchar() == 'N')
{
} scanf后面接个getchar 把你输入姓名后的回车清了 本帖最后由 jackz007 于 2019-4-27 12:00 编辑
scanf() 会影响后面的 getchar(),所以,应该在 scanf() 的后面添加 fflush(stdin) ; 清除键盘缓冲区
. . . . . .
scanf("%s" , stu . name) ;
fflush(stdin) ; // 清除键盘缓冲区,因为执行 scanf() 后,键盘缓冲区内会有回车符滞留,会成为后面 getchar() 的输入
printf("是否继续输入学生信息(Y 继续,N 返回主菜单) : ") ;
. . . . . .
页:
[1]