double型資料輸入輸出

2021-09-16 19:51:52 字數 401 閱讀 6396

double a;

scanf("%f",&a); //應該使用scanf("%lf",&a);

執行上面語句時,發現double型別的輸入不能使用%f進行輸入,得用%lf才能正常得到a的值。

而在輸出double型別時卻可以用%f,這是因為printf只認識雙精度,遇到%f自動將float型的引數轉換成double型。

但是因為scanf接收乙個指標,而float和double指標沒有類似的指標提公升,所以必須準確、區分。

故double型的輸入輸出形式如下:

double a;

scanf("%lf",&a);

printf("%f",a);//printf("%lf",a);也可以

關於double的輸入輸出格式

1 printf的 f說明符既可以輸出float型又可以輸 出double型。根據 預設引數提公升 規則 在printf這樣的函式的 可變引數列表中,不論作用域內有沒有原型,都適用這一規則 float型會被提公升為double型。因此printf 只會看到雙精度數。2 scanf對於float型別必...

關於double與float的輸入輸出問題

在用c語言輸入輸出double與float型別的時候,例如 include include using namespace std view code include include using namespace std 原因 先說printf的 f,為什麼在double與float不同型別的時候...

實驗2 4 浮點型資料的輸入輸出

實驗目的 比照整型資料輸入輸出的 方式,研究浮點型資料的輸入輸出,在加深理解的基礎上能熟練使用浮點型資料。實驗步驟 分數22 7小數點後有幾位?如果用它表示圓周率可以精確到哪一位?1.填表並分析 float型 fafb fcfd 值2.3 0.0023 2.3e5 0.00023e 2 以 f格式預...