各位老师,本人新手上路,碰到下面的问题困扰:
语句目标为:输入字母,判断是否为A或者B,如果是,跳出循环,如果不是,继续输入
循环相关程序如下:
char sp;
while (1)
{
scanf("%c",&sp);
if (sp == A || sp == B)
break;
printf("输入有误,请重输:\n,%c",sp);
printf("%c",sp);
}
此循环无法生效,然后我改成后面的,发现到scanf处就失效:
char sp = ‘c’;
while (1)
{
if (sp == A || sp == B)
break;
printf("输入有误,请重输:\n,%c",sp);
printf("%c",sp);
scanf("%c",&sp);
}
是否while循环里面是不能使用scanf函数的,我应该怎么改才能正确运行.
后面我发现了加上getchar后就没问题了
scanf("%c",&sp);
getchar();
while (1)
{
if (sp == 'A' || sp == 'B')
break;
printf("输入有误,请重输:");
scanf("%c",&sp);
getchar();
}
希望老师们解释下