首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C語言字符輸入輸出函數:putchar、getch、getche、getchar 詳解

     編輯:關於C語言

putchar() — 字符輸出

putchar(ch); // 等價於 printf("%c", ch)

多種輸出 'B' 的方式

char c = 'B';
putchar(c);        // 字符變量
putchar('\x42');   // 十六進制轉義
putchar(0x42);     // 直接用 ASCII 碼值

鍵盤輸入三函數對比

函數回顯等待回車返回值
getch()否否讀到的字符
getche()是否讀到的字符
getchar()是是第一個字符

getch()/getche() 實例

main() {
    char c, ch;
    c = getch();  putchar(c);  // 無回顯輸入,再輸出
    ch = getche(); putchar(ch); // 有回顯輸入,再輸出(字符顯示兩次)
}

暫停程序常用模式

printf("Press any key to continue...");
getch(); // 等待任意鍵,不回顯

getchar() 特性

main() {
    char c = getchar(); // 輸入 "ABC" + 回車
    putchar(c);         // 僅輸出 'A'
    getch();
}
  • 緩衝區累積所有輸入直到回車
  • 所有字符回顯
  • 僅第一個字符作為返回值
  • 剩餘字符留在緩衝區,影響後續讀取

緩衝區問題與解決

連續 scanf("%c") 讀取字符時,回車符殘留導致問題。解決:

scanf("%c", &c1);
fflush(stdin); // 清除輸入緩衝區
scanf("%c", &c2);

注意:fflush(stdin) 在標準 C 中行為未定義,Turbo C 支持。跨平台代碼應用循環讀取清空緩衝區。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved