scanf函數是通過指針指向變量的。
%f告訴scanf函數在所傳地址位置上存儲一個float型值, 而%lf告訴scanf函數在所傳地址位置上存儲一個double型值。
這里float和double的區別是非常重要的。
如果給出了錯誤的轉換說明,那么scanf函數將可能存儲錯誤的字節數量
(沒有提到的是,float型的為模式可能不同於double型的位模式)。 Taku —— SegmentFault上的回答
輸入時:
float型輸入用%f
double型輸入用%lf
輸出時:
最好是都用%f輸出
在G++中,double類型若用%lf輸出可能會錯,
而在C++中,double類型用%lf輸出是正確的
printf() 函數中不存在 %lf。
總結:
輸入 double 用 %lf 輸出用 %f
————————————————
版權聲明:本文為CSDN博主「TJ」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/vc43vc/article/details/82797655