gpt4 book ai didi

c - C语言从键盘输入一个字符

转载 作者:太空宇宙 更新时间:2023-11-04 03:02:14 25 4
gpt4 key购买 nike

我有以下代码,其中 check 是字符类型

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 an edge 两次并且对于 tt\n<​​/strong> 我得到同样的问题三次,然后询问输入。

我的问题是如何避免它以及它为什么会发生?

最佳答案

要解决您的问题,请尝试以下操作:

void main()
{
char check;
char c;
do
{
printf("Do you want to add an edge(n to stop adding)\n");
check = getchar();
do { c = getchar(); } while (c != '\n' && c != EOF); // This gobbles the rest of the chars on stdin
} while(check != 'n' && check != EOF);
}

关于c - C语言从键盘输入一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10096137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com