c語言中什麼時候需要使用lf,C語言問題f和lf的區別

2021-05-23 18:16:47 字數 3547 閱讀 8949

1樓:匿名使用者

%lf對應的是雙精度浮點型double

在資料輸入%ld,如:

double d;

scanf("%lf", &d);

2樓:匿名使用者

scanf輸入小數時候都用%lf

3樓:幸巴達

scanf() double型別的時候

4樓:五月的天

%是取餘,if是條件語句啊

c語言問題%f和%lf的區別

5樓:徜逸

由於精度的原因,輸出%lf和%f的資料不同,可能會造成錯誤。

主要有一下四點專區別:

1、代表的資料型別不同屬

%f代表單精度浮點型資料(float),%lf代表雙精度浮點型資料(double)。

2、有效數字位數不同

單精度浮點數有效數字保證6位,部分7位,雙精度浮點數有效數字保證15位,部分16位。

3、所能表示數的範圍不同

單精度浮點的表示範圍:-3.40e+38 ~ +3.40e+38,雙精度浮點的表示範圍:-1.79e+308 ~ +1.79e+308

4、在程式中處理速度不同

一般來說,cpu處理單精度浮點數的速度比處理雙精度浮點數快。

6樓:張

第6課時 c語言和c++的區別

7樓:匿名使用者

好好看看資料型別的概念吧,把前面的double換成float後面就可以用%f;%f代表按回實型輸入或輸出答,而%lf代表按雙精度輸入或輸出,怎麼會沒有關係呢?輸入時採取的格式不同,存在電腦裡的資料就不同,電腦裡同樣的資料(都是由0和1組成的相同的二進位制數)按不同的格式輸出結果也不會相同

8樓:匿名使用者

你之前已經定義到double了,最後的輸出值是按照表示式中的最多有效數字的形式定義的,也就是說如果你定義int a;doubule b;但是輸出是c=a+b,c則是double型

9樓:匿名使用者

你定義的double 當然配套的就要用%lf啊 至於%d 和%ld是一樣的 並不是你資料不存在就可以不用%lf

10樓:匿名使用者

float型別只有7位

因為是double型別乘一起去就不知道多少位了

所以得變成longfloat

11樓:_葉子妞妞

%f和%lf分別是復float型別和double型別用制於格式化輸入輸出時對bai應的格式符號。

其中:du

float,單精度浮點zhi型,對應dao%f.

double,雙精度浮點型,對應%lf.

在用於輸出時:

float型別可以使用%lf格式,但不會有任何好處。

double型別如果使用了%f格式可能會導致輸出錯誤。

在用於輸入時:

double 型別使用了%f格式,會導致輸入值錯誤。

float型別使用double型別不僅會導致輸入錯誤,還可能引起程式崩潰。

所以在輸入輸出時,一定要區分好double和float,而使用對應的格式符號。

12樓:寳貝謙

因為你定義的a,b,c都是double型吖...所以scanf()接收的a,b,c都是double型...double就是%lf咯...

如果用%f就是flout型咯...就跟定義的卟同了喔...

13樓:匿名使用者

f: float

lf:double

14樓:流星劃破夜空

#include

#include "math.h"

int main(void)

else

printf("it is not ********!\n");

return 0;

}試試這個

15樓:匿名使用者

你要輸出多少位,那按照下面這種輸出試試:

printf("%hf",yourfloat) ,其中,h用個小數替換掉回(用整數會成預設位數)

答,小數點後面的數字的值就是你列印yourfloat的小數點後面的位數,如"%0.15f" 、"%123.15f" 、"%0.000015f"都是列印小數點後15位

16樓:

看了你抄的**再結合你說的有時襲沒問題,

有時有問題,我判斷應該是你**中沒有將求出來的面積放入變數中儲存導致的。如果不放入變數中,你求出來的就是一個double型別的數值,此時你以float型輸出,由於型別不匹配所以程式自然報錯。如果你將這個值賦給一個變數則程式會自動分配一個記憶體給此變數,這樣當你以double輸出時程式會自動進行型別運算,自然也就不會出錯了。

17樓:斬月諸河

%f:float

%lf:double

因為你定義時用的是double型別,佔8個位元組而指定格式符是%f,對應的是float佔4個位元組,而資料型別位元組小的可以向大的轉換,反之則不行,所以會錯。

18樓:御板

scanf()語句:"%lf"用於double型別,"%f"用於float型別

printf(語句:"%f"既可用於double型別,又可用於float型別,但意思是指「保留6位小數」

19樓:匿名使用者

嘗試了一遍,還真是,十分感謝

20樓:匿名使用者

定義double 就用lf輸入輸出 定義float就用f輸入輸出

請問c語言中,%c %d %f %lf分別是什麼意思哦

21樓:匿名使用者

%c:是存取或者輸出一個字元

%d:是存取或者輸出一個整數

%lf: 是存取或者輸出一個長整型小數。

22樓:壞男孩

都是轉換符,%c要求將結果轉換為字元型; %d 要求轉換為十進位制型;%f 轉換為浮點型;%lf轉換為長浮點型。

23樓:小欽

這都是格式控制符,%c是格式化輸出字元型變數,%d格式化輸出整型變數,%lf和%f分別是格式化輸入和輸出浮點型變數

c語言 什麼時候用c%,什麼時候用d%

24樓:匿名使用者

看一下這個,你會完全明白的

25樓:匿名使用者

用字元的時候就是用c%啊,用整型的時候就是d%的。

26樓:匿名使用者

沒見過c%和d%

%c 格式化為字元

%d 格式化為數字

%s 格式化為字串

27樓:匿名使用者

%c 是輸出字元的

%d 是輸出整型的

C語言中什麼時候四捨五入什麼時候直接擷取捨棄呢

轉化成浮點數型別值時是就近舍入 與四捨五入有一點點區別 轉化成整型型別值時是直接擷取捨棄小數部分。c語言中數值轉換什麼時候需要四捨五入,什麼時候不需要?如3.1415926轉換成 f就是3.141 1 實型內部之間的轉換要四捨五入 例如雙精度強制轉換成單精度就要 如果實型轉整型的話專,就直接去屬掉小...

小學四捨五入什麼時候學的,C語言中什麼時候四捨五入什麼時候直接擷取捨棄呢

使用蘇教版教材的孩子是在四年級上冊中學習 四捨五入 的知識 是什麼版本的呢 蘇教版是四年級 c語言中什麼時候四捨五入什麼時候直接擷取捨棄呢 轉化成浮點數型別值時是就近舍入 與四捨五入有一點點區別 轉化成整型型別值時是直接擷取捨棄小數部分。c語言中怎麼四捨五入 利用取整運算的截斷特點實現。比如 int...

C語言中什麼運算只取整數部分,什麼時候不但取整,還要四捨五入發現C語言中很多時候不用四捨五入

取整要看型別的自動轉換了,比如a和b都是整形資料,那麼a b的結果就一定是整形。結果就取整數部分,如果其中有一個是浮點型,那麼結果就是浮點型,但是不會四捨五入,如果需要四捨五入那麼應該寫成a b 0.5.自動轉換的順序是char,short,int,float,double,越往後優先順序越高 取整...