作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 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/
我是一名优秀的程序员,十分优秀!