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

C 語言 scanf 格式字符串多餘空格導致需額外輸入

     編輯:程式設計疑難解答

問題代碼

scanf("%f %f %f ", &money, &year, &rate); // 末尾多餘空格

現象

輸入三個數回車後程序不繼續,需再輸入一個無關字符才執行後續代碼。

原因

scanf 格式字符串中空白字符(空格/換行/Tab)表示「讀取並忽略任意數量空白字符」。末尾空格導致 scanf 等待下一個非空白字符才返回,造成「卡住」現象。

解決

scanf("%f%f%f", &money, &year, &rate); // 移除所有空格

或保留分隔空格但不在末尾:scanf("%f %f %f", ...)。

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