我們如何看到與輸入文件流(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