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

C 語言語法錯誤修正:float f = f 1.1 缺少賦值運算子

     編輯:C 語言問答

錯誤代碼

float f = f 1.1; // 編譯錯誤:expected '=' before numeric constant

問題分析

  • 宣告與初始化語法:型別 變數名 = 初值;
  • 缺少 =(賦值運算子),導致編譯器在 f 後看到 1.1 不知道怎麼解析。
  • 右側 f 若非宣告前已存在的變數,也是未定義識別符。

正確寫法

float f = 1.1f; // 建議加 f 後綴明確指定 float 常數,避免 double 隱式轉換警告

延伸:浮點數字面常數型別

寫法型別備註
1.1double預設
1.1f / 1.1Ffloat單精度,賦值給 float 變數無轉換
1.1L / 1.1llong double延伸精度

常見新手浮點數坑

  • float f = 0.1; → 0.1 是 double,二進制無法精確表示,轉 float 再轉回 double 印出可能是 0.100000001。
  • 比較浮點數**絕不直接用 ==**,用 fabs(a-b) < EPS。
  • scanf("%f", &f) 讀 float,scanf("%lf", &d) 讀 double,**格式字串必須對應**。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved