int 型別轉換為 float型別小數后邊的怎么沒了?
那我該如何準確輸出?
uj5u.com熱心網友回復:
沒問題啊,小數轉整數本來就這樣的。uj5u.com熱心網友回復:
因為你的S被定義為整型,在計算面積時,賦值陳述句右側的運算式的結果型別為double型別,但是存在隱式轉換成了整型賦給了s,在變數s的記憶體空間中存盤的就是整型資料,在輸出時強轉為float,是以s為整數的基礎上進行強制轉換的。uj5u.com熱心網友回復:
int s換成double suj5u.com熱心網友回復:
整型s轉換為浮點型就是你這樣的結果uj5u.com熱心網友回復:
s = r * r * p;這條陳述句執行的時候已經把小數點去掉了.因為s定義的是int型別,int型別是沒有小數部分的.uj5u.com熱心網友回復:
明白了,謝謝
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/133566.html
標籤:C語言
上一篇:C語言問題
