在c中使用do while循环从用户那里获取输入

h

我正在创建一个用于生成下一个质数的程序,我需要为此输入用户输入。我正在使用do-while循环,但它不会停止第二次输入输入。请指导我哪里做错了。谢谢!这是我的代码片段

int 
main()
{ 
int val=1;
char input;
do
{
    val=nextprime(val);
    printf("\n%d\t",val);

    printf("Next Prime number? Y or N ");
    scanf("%c",&input);
 } 
while(input != 'N' && input != 'n');
return 0;

}

我得到的输出是:

2   Next Prime number? Y or N y

3   Next Prime number? Y or N 
5   Next Prime number? Y or N y

7   Next Prime number? Y or N 
11  Next Prime number? Y or N y

13  Next Prime number? Y or N 
17  Next Prime number? Y or N y

19  Next Prime number? Y or N 
23  Next Prime number? Y or N y

29  Next Prime number? Y or N 
31  Next Prime number? Y or N n
哎哟

您在这里有答案:用C读取单个字符

当您按“ Y”时,按Enter键,它位于输入缓冲区中,并在循环的下一次迭代中读取。

您需要使用:

scanf(" %c",&input);

具有前导空间,可忽略输入缓冲区中的最后一个角色。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

ReactJS:使用alert()从用户那里获取输入

使用输入字段从用户那里获取金额

从用户那里获取输入并使用python中的for循环从数据框中打印该词的频率

如何使用Python从用户那里获取确切数量的输入?

如何在Xcode 8.2的Playground项目中使用Swift从用户那里获取输入?

while循环不提示用户输入(C ++)

使用用户输入迭代While循环

用户输入使用while循环存储数据

使用用户输入的整数的While循环

使用用户输入中断 while 循环

如何在 C++ 中使用 while 或 for 循环添加用户输入的数字?

执行scanf()并从用户那里获取输入后,C程序终止,没有任何错误。

从用户那里获取一些输入并使用Entity Framework插入多个表

如何使用discord.py重写从提到的用户那里获取输入?

使用discord.py制作一个从用户那里获取输入的函数?

Java:尝试理解使用扫描仪从用户那里获取输入

如何使用 BufferedReader 类从用户那里获取字符和字符串输入?

从用户那里获取输入

如何在 C 中继续从用户那里获取值,但在用户未输入任何值并按 Enter 时停止?

您如何在 While 循环内获取用户输入并使用测试条件 -gt 10 和 -lt 100?

使用php从用户那里获取强密码

在C ++中使用Do-While循环的问题?

在C中运行while循环时捕获用户输入

如何使用用户输入双打关闭while循环

使用while循环进行用户输入,直到按Enter

使用while循环将用户输入写入文件

使用javascript中的while循环重新提示用户输入

Bash - 使用用户输入中断 while 循环

如何使用用户输入中断 while 循环