首先,用getchar()函式的時候有兩大特徵:
這就需要講一講行緩衝(line-buffer)輸入方式:
1、將輸入字元先放入輸入緩衝佇列中,再從緩衝佇列讀取字元
2、直到鍵入回車符或檔案結束符eof時,程式才認為輸入結束
3、一行輸入結束,getchar()才開始從輸入緩衝佇列讀取字元, 前面函式沒讀走的資料仍在緩衝佇列中,將被下乙個函式(getchar())讀取
為什麼getchar()要讀到乙個回車符或檔案結束符eof才 進行一次處理操作呢?
或者說為什麼getchar()以行(而非字元)為單位讀取字元呢?
還有乙個需要注意的問題:
有時getchar()也可能返回負值 :
若在unix/linux下遇到組合鍵ctrl+d(windows下為ctrl+z) ,則返回eof(一般定義為-1)
因為getchar()函式返回終端輸入的第乙個字元 ascii碼值(通常非負),所以通常這樣定義:
int ch;
ch =
getchar()
;
用getchar和 C輸入字元型資料
標籤 空格分隔 c 雙學位高階語言程式設計 c輸入輸出 getchar函式的輸入模式,是以回車鍵為結束標誌,將回車之前的所有資料都放入緩衝區中,每進行一次賦值,就呼叫緩衝區內的乙個字元。如果輸入字元比賦值字元少,那會把回車也算作字元。鍵盤上的一切輸入內容,包括空格回車,都能被輸入其中。而用 c輸入資...
用getchar和 C輸入字元型資料
標籤 空格分隔 c 雙學位高階語言程式設計 c輸入輸出 getchar函式的輸入模式,是以回車鍵為結束標誌,將回車之前的所有資料都放入緩衝區中,每進行一次賦值,就呼叫緩衝區內的乙個字元。如果輸入字元比賦值字元少,那會把回車也算作字元。鍵盤上的一切輸入內容,包括空格回車,都能被輸入其中。而用 c輸入資...
用getchar和putchar輸入輸出字元
用getchar函式讀入兩個字元給c1,c2,然後用putchar函式輸出這兩個字元。include stdafx.h include using namespace std int tmain int argc,tchar argv 如果要輸出這兩個字元的ascii碼,應如何處理?include ...