putchar為什么不是合法的標(biāo)識符?
Putchar不是合法的標(biāo)識符,因為它是C語言中的一個函數(shù)。
c語言getchar函數(shù)用法?
Getchar是通過宏實現(xiàn)的:#definetetchar()。
Getchar(stdin)語句函數(shù):Getchar有一個int返回值。當(dāng)程序調(diào)用getchar時,程序等待用戶按鍵,用戶輸入的字符存儲在鍵盤緩沖區(qū)中,直到用戶按Enter(回車符也放在緩沖區(qū)中)。
當(dāng)用戶鍵入回車時,getchar開始從stdin流中一次讀取一個字符,getchar函數(shù)的返回值是用戶輸入的第一個字符的ASCII碼。
如果有錯誤,將返回-1,用戶輸入的字符將回顯到屏幕上。如果用戶在按Enter之前輸入了多個字符,其他字符將被保存在鍵盤緩沖區(qū)中,等待后續(xù)的getchar調(diào)用讀取。
也就是說,后續(xù)的getchar調(diào)用不會等待用戶按鍵,而是直接讀取緩沖區(qū)中的字符,等待用戶按鍵,直到緩沖區(qū)中的字符讀取完畢。
示例:
#includeltstdio.hgt
voidmain()
{
Charc//定義一個字符。
printf(#34輸入一個字符
#34)
Cgetchar()//從鍵盤上獲取一個字符。
Putchar(c)//輸出字符
}
擴(kuò)展數(shù)據(jù):
獲取字符
Getchar是通過宏實現(xiàn)的:#definettechar()getc(stdin)。Getchar有一個int返回值。當(dāng)程序調(diào)用getchar時,程序等待用戶按鍵。用戶輸入的字符存儲在鍵盤緩沖器中。
直到用戶按下enter鍵(enter字符也放在緩沖區(qū)中)。當(dāng)用戶鍵入回車時,getchar開始從stdio流中一次讀取一個字符。getchar函數(shù)的返回值是用戶輸入的字符的ASCII碼,如果文件結(jié)束(of-file),則返回-1(EOF)并將用戶輸入的字符回顯到屏幕上。
如果用戶在按Enter之前輸入了多個字符,其他字符將被保存在鍵盤緩沖區(qū)中,等待后續(xù)的getchar調(diào)用讀取。也就是說后續(xù)的getchar調(diào)用不會等待用戶按鍵,而是直接讀取緩沖區(qū)中的字符,直到緩沖區(qū)中的字符讀完,然后等待用戶按鍵。
getch
Getch和getchar的基本功能相同,不同的是getch直接從鍵盤獲取鍵值,不需要等待用戶按回車鍵。只要用戶按下一個鍵,getch就會立即返回。getch的返回值是用戶輸入的ASC碼,出錯返回-1。
輸入的字符不會屏幕上出現(xiàn)回聲。getch函數(shù)常用于程序調(diào)試。調(diào)試時相關(guān)結(jié)果顯示在鍵位供查看,然后用getch函數(shù)暫停程序,按任意鍵后程序繼續(xù)運行。
格切
這個功能和前兩個差不多,功能也差不多。兩者都是輸入一個字符,返回值也是輸入字符的ASCII碼,但不同的是這個函數(shù)是在輸入后立即從控制臺取字符,不以回車結(jié)束。