为啥 scanf (在 C 中)似乎只在第二次输入后才做出反应? [复制]
Posted
技术标签:
【中文标题】为啥 scanf (在 C 中)似乎只在第二次输入后才做出反应? [复制]【英文标题】:Why does scanf ( in C) seem to react only after a second input? [duplicate]为什么 scanf (在 C 中)似乎只在第二次输入后才做出反应? [复制] 【发布时间】:2022-01-14 05:42:46 【问题描述】:有人可以看看并告知为什么程序在scanf获取char(&)后不前进,而是等待输入另一个char?
char user_char, hist_axis;
int axis_char_ok = 0,grade, max_count=0,j,k,m=1,grades[9] = 0;
printf(" Please enter a character: \n");
scanf(" %c ", &user_char);
【问题讨论】:
你为什么不在scanf中只使用"%c"
?
【参考方案1】:
%c
后面的空格会占用尽可能多的空白,因此它不会停止,直到您输入不是空格或换行符(或结尾)的内容-of-file)。
如果您将" %c "
更改为" %c"
,那么问题应该会消失。
【讨论】:
非常感谢!你成就了我的一周,而不仅仅是我的一天!这解决了问题。以上是关于为啥 scanf (在 C 中)似乎只在第二次输入后才做出反应? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
为啥我在第二次运行测试时在 Mongoose 中收到错误“一旦编译后无法覆盖模型”?
为啥我在第二次运行测试时在 Mongoose 中收到错误“一旦编译后无法覆盖模型”?