gpt4 book ai didi

c - 如何在C中对单个字符执行scanf

转载 作者:行者123 更新时间:2023-11-30 16:28:26 26 4
gpt4 key购买 nike

在 C 语言中:我正在尝试使用 scanf 从用户那里获取字符当我运行它时,程序不会等待用户输入任何内容...

这是代码:

char ch;
printf("Enter one char");
scanf("%c", &ch);
printf("%c\n",ch);

为什么不工作?

最佳答案

%c 转换说明符不会自动跳过任何前导空格,因此,如果输入流中存在杂散换行符(例如,来自上一个条目),scanf 调用将立即消耗它。

解决该问题的一种方法是在格式字符串中的转换说明符之前放置一个空格:

scanf(" %c", &c);

格式字符串中的空白告诉 scanf 跳过前导空格,并且将使用 %c 转换说明符读取第一个非空格字符。

关于c - 如何在C中对单个字符执行scanf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52376515/

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