getchar的用法


getchar 由宏實現:#define getchar()

getchar(stdin)語句功能:getchar有一個int型的返回值,當程序調用getchar時,程序就等着用戶按鍵,用戶輸入的字符被存放在鍵盤緩沖區中,直到用戶按回車為止(回車字符也放在緩沖區中)。

當用戶鍵入回車之后,getchar才開始從stdin流中每次讀入一個字符,getchar函數的返回值是用戶輸入的第一個字符的ASCII碼。

如出錯返回-1,且將用戶輸入的字符回顯到屏幕,如用戶在按回車之前輸入了不止一個字符,其他字符會保留在鍵盤緩存區中,等待后續getchar調用讀取。

也就是說,后續的getchar調用不會等待用戶按鍵,而直接讀取緩沖區中的字符,直到緩沖區中的字符讀完為后,才等待用戶按鍵。
示例:

#include<stdio.h>

void main()

{

char c;//定義一個字符

printf("input a character\n");

c=getchar();  //從鍵盤獲取一個字符

putchar(c);//輸出字符

}

補充再說一下,也是重點:
直到用戶按回車為止(回車字符也放在緩沖區中)。當用戶鍵入回車之后,getchar才開始從stdio流中每次讀入一個字符。划重點!!!getchar函數的返回值是用戶輸入的字符的ASCII碼,若文件結尾(End-Of-File)則返回-1(EOF),且將用戶輸入的字符回顯到屏幕。

轉載於:https://zhidao.baidu.com/question/16706880.html的熱心網友回答

最后附上一張今天學習用到的ASCII碼表,如下:

圖片摘自百度百科:https://baike.baidu.com/item/ASCII/309296?fromtitle=ascii碼表&fromid=19660475&fr=aladdin


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM