奇怪的getchar与while循环
以下是我的代码,如果首次输入不是1或者2,提示信息(输入有误,请从新输入.请选择生成两类标签(1,-1)或者五类标签(-1,1,2,3,4): 1为两类,2为五类.)就出现两次,而如果把while编程if,提示信息则只出现一次,请问这是怎么回事?
int main()
{
char putchar;
printf("请选择生成两类标签(1,-1)或者五类标签(-1,1,2,3,4): 1为两类,2为五类.\n");
putchar = getchar();
while(putchar != '1' && putchar != '2')
{
printf("输入有误,请从新输入.\n");
printf("请选择生成两类标签(1,-1)或者五类标签(-1,1,2,3,4): 1为两类,2为五类.\n");
putchar = getchar();
}
}