

我宣告一個double型別的變數,輸入一個小數,輸出卻是一大串莫名其妙的數字呢....
如圖

然后我換成float型別卻可以完全一樣輸出。。。。

求教使用double型別要注意的地方!!
uj5u.com熱心網友回復:
你好像把lf打成了1f,scanf_s("%lf",&b)uj5u.com熱心網友回復:
奧

那為什么float型別printf和scanf用5f都行呢
uj5u.com熱心網友回復:
奧
那為什么float型別printf和scanf用5f都行呢
uj5u.com熱心網友回復:
%f和%lf分別是float型別和double型別用于格式化輸入輸出時對應的格式符號。其中:
float,單精度浮點型,對應%f。
double,雙精度浮點型,對應%lf。
在用于輸出時:
float型別可以使用%lf格式,但不會有任何好處。
double型別如果使用了%f格式可能會導致輸出錯誤。
在用于輸入時:
double 型別使用了%f格式,會導致輸入值錯誤。
float型別使用double型別不僅會導致輸入錯誤,還可能引起程式崩潰。
所以在輸入輸出時,一定要區分好double和float,而使用對應的格式符號。
uj5u.com熱心網友回復:
float型別scanf(%5d)意思是接收位數(包括小數點)
printf(%5d)意思是輸出最小寬度(包括小數點)
而double型別lf應該是long float 的意思
double(%5lf)是一個意思
uj5u.com熱心網友回復:
抱歉,把f打成d了
uj5u.com熱心網友回復:
抱歉,把f打成d了
ok。。。。。。。。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/148910.html
標籤:C語言
上一篇:菜鳥,新建工程里面什么都沒有
下一篇:Math類
