【问题标题】: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"

标签: c scanf


【解决方案1】:

%c 后面的空格会占用尽可能多的空白,因此它不会停止,直到您输入不是空格或换行符(或结尾)的内容-of-file)。

如果您将" %c " 更改为" %c",那么问题应该会消失。

【讨论】:

  • 非常感谢!你成就了我的一周,而不仅仅是我的一天!这解决了问题。
猜你喜欢
  • 2020-08-19
  • 2012-06-11
  • 1970-01-01
  • 2012-05-21
  • 2014-08-06
  • 1970-01-01
  • 1970-01-01
  • 2015-04-24
  • 1970-01-01
相关资源
最近更新 更多