%lf 和%f 為什么在printf函數輸出后都是六位小數
double 和float 對應的%lf和%f 為什么在printf函數輸出后都是六位小數,double不是精度更高嗎,不是應該有更多小數嗎,如果不是的話為什么不直接用%f 而要用%lf.輸出結果上沒有什么區別。
#include?<stdio.h> int?main() { ????char?c?=?'a'; ????int?n?=?c;????????//將c賦值給n ????float?f?=?c;??????//將c賦值給f ????double?d?=?c;????//將c賦值給d ????printf("%d\n",n); ????printf("%f\n",f); ????printf("%lf\n",d); ????return?0;???? }
2021-09-17
我也一直有這個疑問,如果%f和%lf輸出沒區別,那為什么還要有%lf呢,直接用%f就行了。double不是也可以用%f輸出嗎,搞不懂,哪個大神來解釋一下
2015-04-25
唉,沒人來嗎
2015-04-25
你理解錯了1.2f表示兩位小數好像是,你百度下就清楚了