第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

輸出語句中 %f %lf的區(qū)別,輸出語句不是輸入

各位好!
在我所學(xué)的課本中 有一個這樣的輸出%lf
#include<stdio.h>
int main()
{
?? float a=1.1;
?? double b=2.2;
?? printf("%f,%f\n",a,b);
?? printf("%lf,%lf\n",a,b);
?? return 0;
}
運(yùn)行結(jié)果為
1.1000000,2.2000000
1.1000000,2.2000000


在輸入語句中對%f和%lf有嚴(yán)格的規(guī)定
但請問在輸出語句中這倆個有什么區(qū)別

正在回答

2 回答

printf的%f說明符的確既可以輸出float型又可以輸出double型。根據(jù)“默認(rèn)參數(shù)提升”規(guī)則(在printf這樣的函數(shù)的可變參數(shù)列表中,不論作用域內(nèi)有沒有原型,都適用這一規(guī)則)float型會被提升為double型。因此printf()只會看到雙精度數(shù)。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

逆時針行走

嚴(yán)格地講,%lf在printf下是未定義的,但是很多系統(tǒng)可能會接受它。要確??梢浦残?,就要堅(jiān)持使用%f。 對于scanf,情況就完全不同了,它接受指針,這里沒有類似的類型提升。(通過指針)向float存儲和向double存儲大不一樣,因此,scanf區(qū)別%f和%lf。
2015-02-11 回復(fù) 有任何疑惑可以回復(fù)我~
#2

IT飽 提問者

非常感謝!C89中對于printf中的%lf未定義
2015-02-13 回復(fù) 有任何疑惑可以回復(fù)我~

在printf中對于float和double類型都應(yīng)該用%f。

雖然把%lf用于double也不報錯。

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消
C語言入門
  • 參與學(xué)習(xí)       926979    人
  • 解答問題       21533    個

C語言入門視頻教程,帶你進(jìn)入編程世界的必修課-C語言

進(jìn)入課程

輸出語句中 %f %lf的區(qū)別,輸出語句不是輸入

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號