解决方法是在下一次scan前用getchar()清空缓冲区。如下示例:
# include "stdio.h"
int main()
{
char choice;
int number;
do
{
printf ("please enter a number: ");
scanf ("%d", &number);
printf("continue input ? (Y/N) :");
while(getchar() != '\n') continue;//清空缓冲区
scanf ("%c", &choice);
}while ( choice != 'N' && choice != 'n');
return 0;
}