我们如何看到与输入文件流(STDIN)关联的缓冲区内容。假设我们使用scanf,getchar或任何输入函数给出输入,它实际上是如何存储在缓冲区中的。特别是当我们按下“enter”键时。与输入文件流关联的缓冲区
例如:
情况下:1)
$输入的两个整数: 10 20(输入) $输入的两个整数: 10(输入) 20(输入)
情况下2:
$输入两个字符 ab(输入) $输入两个字符 a(回车) b(输入)
为什么在情况1中它忽略空格键(ASCI-32),但在case2中它将空格键作为下一个输入。它是scanf函数或终端的属性。
显示您正在使用的代码将使该帖子更容易理解和回答。 – chux 2014-09-10 18:12:17
所有'scanf()'说明符都像''%d'',''%f'',''%s'''消耗并且不保存前导空格(包含'''')_except_ for'“%c “','”%[“','”%n“'。 'scanf(“%c”,...)'和'getkey()'不会忽略任何东西。 – chux 2014-09-10 18:17:43