首頁>Club>
8
回覆列表
  • 1 # 清緒

    當程式呼叫getchar時,程式就等著使用者按鍵。使用者輸入的字元被存放在鍵盤緩衝區中。直到使用者按回車為止。

    當用戶鍵入回車之後,getchar才開始從stdin流中每次讀入一個字元。getchar函式的返回值是使用者輸入的字元的ASCII碼,若檔案結尾則返回-1(EOF),且將使用者輸入的字元回顯到螢幕。

    如使用者在按回車之前輸入了不止一個字元,其他字元會保留在鍵盤快取區中,等待後續getchar呼叫讀取。

    也就是說,後續的getchar呼叫不會等待使用者按鍵,而直接讀取緩衝區中的字元,直到緩衝區中的字元讀完後,才等待使用者按鍵。

    拓展資料

    getchar()是stdio.h中的庫函式,它的作用是從stdin流中讀入一個字元,也就是說,如果stdin有資料的話不用輸入它就可以直接讀取了,第一次呼叫getchar()時,確實需要人工的輸入,但是如果你輸了多個字元,以後的getchar()再執行時就會直接從緩衝區中讀取了。

    C 庫函式int getchar(void)從標準輸入 stdin 獲取一個字元(一個無符號字元)。這等同於getc帶有 stdin 作為引數。

    該函式以無符號 char 強制轉換為 int 的形式返回讀取的字元,如果到達檔案末尾或發生讀錯誤,則返回 EOF。

  • 中秋節和大豐收的關聯?
  • 末代皇帝溥儀想要出國留學,載灃為何不肯讓其如願?