首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

C 語言 scanf 格式字符串換行符導致需輸入兩次

     編輯:程式設計疑難解答

問題代碼

scanf("%c\n", &ch); // 含換行符

現象

輸入一個字母回車後程序不繼續,需再輸入一個字符才得到結果。

原因

%c 讀取單字符(含空白)。格式字符串中 \n 表示「讀取並忽略任意空白字符」,導致 scanf 等待下一個非空白字符才返回。

解決

scanf("%c", &ch); // 移除 \n
// 或
scanf(" %c", &ch); // 前置空格跳過殘留換行符
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved