getchar() 與 putchar()詳見第七章 7.1.1 節。
getchar() 讀到文件末尾返回特殊值 EOF(通常定義為 -1,在 stdio.h 中)。getchar() 返回值必須聲明為 int 類型,因 char 可能為無符號(0-255),無法表示 -1。常見 Bug:scanf("%c", &ch) 讀取用戶輸入 'n' 後,緩衝區殘留換行符 \n,下一次調用直接讀到 \n 導致邏輯錯誤。
解決方案:用循環丟棄行尾剩餘字符:
while (getchar() != '\n') continue;
ANSI C 規定標準輸入為緩衝輸入,編程時務必注意換行符的處理。