我正在學習 C 編程語言,并且在 Xcode 13.x 中,當我撰寫以下代碼時:
float a = 3 / 2;
float b = 1 / 3;
printf("3 divided by 2 as a float is %f, 1 divided by 3 as a float is %f\n", a, b);
控制臺喊出這個:
3 divided by 2 as a float is 1.000000, 1 divided by 3 as a float is 0.000000
我希望它顯示1.500000and 0.333333,但為什么不呢?我確信解決方案是顯而易見且簡單的,但基本的谷歌搜索/搜索并沒有幫助。
我試圖#include float.h認為它會有所幫助,但沒有運氣。
我盲目地錯過了什么?
謝謝
uj5u.com熱心網友回復:
您顯然試圖將除法的結果存盤到 a 中float,但浮點數也包括整數。您實際上是在執行整數除法,因為在這兩種情況下,您的兩項都是整數(沒有小數部分)。除法執行四舍五入(結果沒有小數部分),并分配給您的變數。
如何糾正這個?嘗試將小數部分添加到兩個數字中的至少一個。例如:
float a = 3.0/2;
這應該這樣做。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/406070.html
標籤:
