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

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

C語言 如果使用float 之后輸出都必須改成%f??

C語言 如果使用float 之后輸出都必須改成%f??

C C++
丶輝色灬 2016-11-09 21:36:19
如果使用float 之后輸出都必須改成%f??使用double 必須使用%lf 我用%f 就會(huì)隨機(jī)數(shù)字...?我用的double 雙精度 為啥小數(shù)還是6位?這個(gè)警告是怎么回事前4問我用這個(gè)程序嘗試的
查看完整描述

1 回答

已采納
?
只是一菜鳥

TA貢獻(xiàn)20條經(jīng)驗(yàn) 獲得超29個(gè)贊

定義某個(gè)類型后,輸出的時(shí)候也要輸出相應(yīng)的類型,否則可能會(huì)出錯(cuò)或者造成輸出的數(shù)值不精確。

針對你這個(gè)問題:

%f和%lf分別是float類型和double類型用于格式化輸入輸出時(shí)對應(yīng)的格式符號。

在用于輸出時(shí):
float類型可以使用%lf格式,但不會(huì)有任何好處。
double類型如果使用了%f格式可能會(huì)導(dǎo)致輸出錯(cuò)誤。

在用于輸入時(shí):
double 類型使用了%f格式,會(huì)導(dǎo)致輸入值錯(cuò)誤。
float類型使用double類型不僅會(huì)導(dǎo)致輸入錯(cuò)誤,還可能引起程序崩潰。

所以在輸入輸出時(shí),一定要區(qū)分好double和float,而使用對應(yīng)的格式符號。

--------------

用double 后,要多少位小數(shù),根據(jù)需要自己設(shè)定。 否則會(huì)默認(rèn)保留6位小數(shù)。

--------------

至于那個(gè)警告,我估計(jì)可能是你在輸出的時(shí)候,兩個(gè)double類型中放入了char類型,所以提示這樣可能不安全。可以試試分開輸入,應(yīng)該就不會(huì)了。

===============

我剛才測試了下,輸入格式化分別為:double、char、double的時(shí)候,如果輸入的三個(gè)數(shù)據(jù)都是double時(shí),會(huì)直接處理前兩個(gè)數(shù)據(jù)。

例如:

#include<stdio.h>
int?main()
{
	double?x,y;
	char?c;
	scanf("%lf%c%lf",&x,&c,&y);
	printf("%lf",x+y);
	return?0;
}

輸入:1 ?2 ?3

輸出的則是3,而不是4。

因?yàn)橄到y(tǒng)會(huì)認(rèn)為空格就是字符,這樣的話,三個(gè)數(shù)據(jù)必須連續(xù)輸入,且中間那個(gè)必須是符號才行,否則就會(huì)出現(xiàn)問題了。

希望對你有幫助。

查看完整回答
3 反對 回復(fù) 2016-11-10
  • 1 回答
  • 1 關(guān)注
  • 3565 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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