當程序調用getchar()函數時,程序就等着用戶按鍵,用戶輸入的字符被存放在鍵盤緩沖區中,直到用戶按回車為止(回車字符也放在緩沖區中)。當用戶鍵入回車之后,getchar()函數才開始從鍵盤緩沖區中每次讀入一個字符。也就是說,后續的getchar()函數調用不會等待用戶按鍵,而直接讀取緩沖區中的字符,直到緩沖區中的字符讀完后,才重新等待用戶按鍵。
#include <bits/stdc++.h> using namespace std; int main() { char c; while((c = getchar())!='\n') { printf("%c,c"); } return 0; }
此代碼輸出即為輸入(不包括回車)。
簡言之,getchar()在輸入回車后才開始運行。
