gpt4 book ai didi

c - 使用 getchar() 时出现意外输入

转载 作者:太空宇宙 更新时间:2023-11-04 06:33:19 27 4
gpt4 key购买 nike

我正在创建一个程序,如果我输入一个字符则返回 true是大写字母,当我输入字符“0”时循环停止。代码如下:

#include <stdio.h>

int main (void)
{
char c;
do
{
printf ("Please enter character to check if uppercase: ");
c = getchar ();

if ( (c >= 'A') && (c <= 'Z') )
{
printf ("true\n");
}
else
{
printf ("false\n");
}
} while ( c != '0');


return 0;
}

但是,我的行为很奇怪(输出):

请输入字符判断是否大写:a

错误

请输入字符,判断是否大写:false

请输入字符判断是否大写:b

错误

请输入字符,判断是否大写:false

请输入字符判断是否大写:A

正确

请输入字符,判断是否大写:false

请输入字符检查是否为大写:0

错误

-提示后的“false”不是我输入的。例如:

  • 1。出现提示
  • 2。我输入字符“a”
  • 3。控制台打印错误
  • 4。出现提示,但也打印提示旁边的单词“false”
  • 5。提示再次出现

所以看起来 getchar() 接受的输入不是来 self 。有什么想法吗?

最佳答案

您没有处理换行符。

参见 this回答澄清。

关于c - 使用 getchar() 时出现意外输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18052185/

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