我有以下代码,其中检查用于 char 类型
do{
printf("Do you want to add an edge(n to stop adding)\n");
check = getchar();
}while(check!='n');
和
do{
printf("Do you want to add an edge(n to stop adding)\n");
scanf("%c",&check);
}while(check!='n');
它们都产生相同的输出
例如对于r\n我得到Do you want to add a edge两次,对于说tt\n我三次得到相同的问题,然后询问输入。
我的问题是如何避免它,为什么会发生?