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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

當(dāng)printf()只對“%f”表示滿意時,為什么scanf()在雙倍時需要“%lf”?

當(dāng)printf()只對“%f”表示滿意時,為什么scanf()在雙倍時需要“%lf”?

C
瀟湘沐 2019-06-26 15:55:39
當(dāng)printf()只對“%f”表示滿意時,為什么scanf()在雙倍時需要“%lf”?為什么scanf()需要l在“%lf“當(dāng)閱讀double,何時printf()可以使用“%f“無論其論點是否為double或者是float?示例代碼:double d;scanf("%lf", &d);printf("%f", d);
查看完整描述

3 回答

?
慕森王

TA貢獻1777條經(jīng)驗 獲得超3個贊

因為對于帶有變量參數(shù)的函數(shù),C會將浮點數(shù)提升到雙倍。指針沒有提升到任何東西,所以您應(yīng)該使用%lf%lg%le(或%la在C99)讀成雙倍。


查看完整回答
反對 回復(fù) 2019-06-26
?
一只萌萌小番薯

TA貢獻1795條經(jīng)驗 獲得超7個贊

自С99以來,C中格式說明符和浮點參數(shù)類型之間的匹配是一致的。printfscanf..它是

  • %f

    float

  • %lf

    double

  • %Lf

    long double

只是碰巧當(dāng)類型的參數(shù)float作為變量參數(shù)傳遞,這些參數(shù)將隱式轉(zhuǎn)換為double..這就是為什么printf格式說明符%f%lf是等價的和可互換的。在……里面printf你可以“交叉使用”%lf帶著float%f帶著double.

但沒有理由在實踐中真正做到這一點。不要用%fprintf類型參數(shù)double..這是一個廣泛的習(xí)慣誕生于C89/90時代,但它是一個壞習(xí)慣。使用%lf在……里面printfdouble并保持%f預(yù)留給float爭論。


查看完整回答
反對 回復(fù) 2019-06-26
?
紅顏莎娜

TA貢獻1842條經(jīng)驗 獲得超13個贊

scanf需要知道所指向的數(shù)據(jù)的大小。&d為了正確地填充它,而各種函數(shù)促進浮點數(shù)加倍(不完全確定原因),所以printf總是得到一個double.


查看完整回答
反對 回復(fù) 2019-06-26
  • 3 回答
  • 0 關(guān)注
  • 577 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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