printf("%lf\n",d);為什么要%后面要加l,而 不直接加f呢?
2 回答
已采納

hhh112123123
TA貢獻158條經驗 獲得超98個贊
%f和%lf分別是float類型和double類型用于格式化輸入輸出時對應的格式符號。
其中:
float,單精度浮點型,對應%f.
double,雙精度浮點型,對應%lf.
點擊展開后面1條

onemoo
TA貢獻883條經驗 獲得超454個贊
應該就寫%f。 float和double對應的都是%f。
原因是:在向變參函數傳參時,編譯器會自動將float提升為double類型。
那么printf作為一個變參函數,就算傳入float,printf得到的也是double類型。
%f在printf中作為double的指示符,也就可以用于float。
其實老標準中根本沒有%lf。在新標準(C99)中,為了在邏輯上和其他類型一致,才加入了%lf這個指示符,而實際上%lf就是%f
- 2 回答
- 0 關注
- 4454 瀏覽
添加回答
舉報
0/150
提交
取消