gpt4 book ai didi

c++ - 我无法使用两个 scanf 函数来输入字母

转载 作者:行者123 更新时间:2023-11-30 18:53:23 24 4
gpt4 key购买 nike

为什么我不能使用两个scanf函数输入字符

例如

char a;
char b;
printf("a");
scanf("%c", &a);
printf("%c", a);
scanf("%c", &b);

printf("%c", b);

解决办法有很多,但我想知道2 scanf函数对字符不起作用的原因是什么

最佳答案

当您输入单个字符时,您实际上向程序发送了两个字符:您按下的字符和按下 Enter 键时的换行符。

假设您按“s”然后按 Enter。第一个 scanf 只会读取“s”,将换行符留在输入缓冲区中。然后,第二个 scanf 将立即读取换行符,然后由第二个 printf 打印该换行符。

如果您输入两个或多个字符并按 Enter 键,例如“abc”然后按 Enter 键,则第一个 scanf 将读取“a”,第二个 scanf 将读取“a”。立即读出“b”。当程序退出时,“c”和换行符将留在缓冲区中。

关于c++ - 我无法使用两个 scanf 函数来输入字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32928776/

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