gpt4 book ai didi

c - getchar 不等待用户输入

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

第二个 getchar 函数没有等待用户输入。无法弄清楚以下代码中缺少什么

char ch = 'n';
bool status = false;

printf("%s", "Some text1\n");
ch = getchar();

if ((ch == 'Y') || (ch == 'y'))
{
status = true;
}

if(status)
{
printf("%s", "Some text2\n");
ch = getchar();

if ((ch == 'Y') || (ch == 'y'))
{
status = eNoError;
}
}

最佳答案

那是因为换行符。

当你输入第一个'Y'时,你实际上输入了一个像"Y\n"这样的字符串。

首先 getchar() 读取 'Y',并且 '\n' 位于缓冲区中。所以第二个 getchar() 获取那个 '\n' 字符。

关于c - getchar 不等待用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35340907/

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