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輸出

2.devc++
在devc中double和float可以用%f,double也可以用%lf進行輸出
是以,為了保證相容性,輸出還是使用%f吧。
大家其實也發現了,進行格式輸出時,最後一位是四舍五入