天天看點

double與float的詳解

scanf讀%f時,系統會讀取4位元組長度,放到float的空間。 double有8位元組空間,float和double的關系不像int和long的關系那樣,簡單的在後面增加4位元組的位置,是兩個不同的存儲區域

是以 讀取時類型務必要對應

printf時,C裡的float其實在使用過程中被隐式轉換成了double

是以在printf時用float還是double其實是一樣的。用%f和%lf都可以。

但是請注意!!!

不同的編譯器其實對printf中double有着不同的處理

1.codeblocks

在codeblocks中printf對double和float是統一%f輸出

double與float的詳解

2.devc++

在devc中double和float可以用%f,double也可以用%lf進行輸出

double與float的詳解
double與float的詳解

是以,為了保證相容性,輸出還是使用%f吧。

大家其實也發現了,進行格式輸出時,最後一位是四舍五入

繼續閱讀