C語言scanf 函式中使用lf的問題

2022-05-08 10:35:21 字數 4638 閱讀 2269

1樓:t寒冬飛雪

編譯器問題

因為我是vs2012,所以沒有問題。

原因是編譯器在編譯的時候沒有連結浮點數相關的庫,可以在定義變數的時候初始化一下。

double a=0.0,......

像這樣,然後應該就ok了。

2樓:金色潛鳥

scanf("%lf %lf",&a,&b);

printf("%lf %lf",a,b);

注意程式格式書寫,必須用英文ascii 碼,例如 空格,也必須是西文空白(中文半形碼),不能是中文空白(全形碼)。

應可拍入 3 4,scanf 能轉為 double

3樓:龔煒林

你重新編譯一下或者新建一個工程試試。還有問題,那再次除錯:按下f10,再按下alt+8檢視反彙編,把反彙編貼上來看看。

4樓:

這個問題嘛,你這樣一試:把double a,b,s,h;中的a改成a=0.0,即寫成double a=0.0,b,s,h;。

5樓:匿名使用者

scanf不能將整形處理為浮點型別,這個是scanf函式的bug,所以需要輸入的時候需要是浮點型數。比如 3.0 4.0

6樓:id雞蛋炒韭菜

輸入時候寫成3.0 4.0試試

7樓:

有可能是把你的換行也作為第二個數讀進來了,你可以在讀取的時候加入換行試下。

8樓:小憶小破孩

可能函式庫錯了吧 呵呵

c語言 scanf()函式中使用%lf的問題

9樓:gta小雞

輸入e導致scanf讀取失敗,此時x的值是未定義的。

由於scanf讀入失敗,未能成功讀取的字元e被留在輸入緩衝區中;下次迴圈時,scanf又嘗試讀取輸入緩衝區中的e,自然再次讀取失敗,因而陷入無限迴圈。

10樓:反翽葚讛笀仕藖

不一樣的,這麼都是格式字元,意義如下:格式字元 意 義 d 以十進位制形式輸出帶符號整數(正數不輸出符號) o 以八進位制形式輸出無符號整數(不輸出字首0) x,x 以十六進位制形式輸出無符號整數(不輸出字首ox) u 以十進位制形式輸出無符號整數 f 以小數形式輸出單、雙精度實數 e,e 以指數形式輸出單、雙精度實數 g,g 以%f或%e中較短的輸出寬度輸出單、雙精度實數 c 輸出單個字元 s 輸出字串前面加個%,你自己對照下吧 長度:長度格式符為h,l兩種,h表示按短整型量輸出,l表示按長整型量輸出。

你這個「%lf」,是在定義輸入的型別為double(雙精度)是用的,不明白,你可以測試下: #include void main() 和 #include void main() 我這裡用了2個編譯器分別測試了下,一個如果定義double行,輸入的時候必須要用%lf,一個就不用了,用%f也行,但是精度還是有區別的,綜合以上,如果定義double型資料,輸入最好是用"%lf" .

scanf("%lf",&a) 中的%lf是什麼意思?

11樓:匿名使用者

雙精度浮點型資料的輸入格式控制符。

因為計算機中所有的資料都是二進位制 0、1 **,所以輸出的時候要用「輸出控制符」告訴計算機以什麼形式將二進位制資料顯示出來。

輸出控制符中,%d、%f、%s、%c 是最常用的,它們分別是輸出整數、實數、字串和字元的控制符。%.mf 雖然用得不多,但一定要重視。

12樓:文件類共創空間

這些都是格式控制符,%lf代表長浮點型 。

類似於此類的格式控制符有:

%d 十進位制整型

%ld 十進位制長整型

%s 字串

%c 字元

%f 浮點型

%ox %o 等等..

13樓:匿名使用者

準確地說是雙精度浮點型資料(也就是double)的輸入格式控制符,

14樓:匿名使用者

輸入格式控制符,%lf表述輸入的是浮點型數

15樓:戚綺玉

輸出格式,是長浮點型的 如%d是整型 %c是字元型

16樓:別琬凝

等等熱熱熱熱熱若若若若若若若若

c語言中printf輸出float和double都用%f麼(scanf又如何)

17樓:匿名使用者

答:1.c語言中printf輸出float和double都可以用%f,而double型資料還可以用%lf。

2.scanf當中若是對雙精度的變數賦值是必須是%後跟lf,而printf當中可以用%f也可以用%lf沒有限制。

拓展資料:c語言中的格式控制符:

%d十進位制有符號整數

%u十進位制無符號整數

%f浮點數

%s字串

%c單個字元

%p指標的值

%e指數形式的浮點數

%x,%x無符號以十六進位制表示的整數

%0無符號以八進位制表示的整數

%g自動選擇合適的表示法

18樓:匿名使用者

1、printf輸出float和double都可以用%f,同時double還可以用%lf。

2、scanf輸出float用%f,而double輸出用%lf,不能混用。

拓展資料:

c語言程式設計軟體是一款使用**c語言進行程式設計的軟體,c語言簡潔、高效、靈活的特性令其具有獨特魅力。現在的程式編寫朝著越來越冗長龐大的方向發展,而c語言雖然屬於相對'低階'的程式語言,但它的簡潔之美是無可替代的。

19樓:c語言基礎

c語言基礎學習,c語言基礎互動之printf函式和scanf函式

20樓:匿名使用者

double用%lf.scanf和printf一樣

21樓:光滑夜空的魅惑

printf輸出double不可用%lf,否則只能得出float的結果

22樓:鐳毅

printf("float %f, double %lf", f,d);

scanf也一樣。

c語言中是什麼意思?

23樓:於陵星

end of file,在電腦的術語bai縮寫通常為du eof,在作業系統zhi決定資料源dao無更多的資料可內

讀取。資料源通常稱為檔案或串

容流。在 c語言,或更精確地說成 c標準函式庫,檔案存取或其它 i/o 功能可能傳回等於象徵符號值 (巨集) eof 指示檔案結束的情形發生。實際上 eof 的值通常為 -1,但它依系統有所不同。

巨集 eof 會在編譯原始碼前實際值給前處理器。

參考資料

24樓:天雲一號

表示

如果dun和m都被成功

zhi讀dao入,那麼scanf的返版回值就是2,繼權續執行迴圈

如果只有n或m被成功讀入,返回值為1,繼續執行迴圈如果n和m都未被成功讀入,返回值為0,繼續執行迴圈如果遇到錯誤或遇到end of file,返回值為eof,條件不成立,退出迴圈。

25樓:匿名使用者

重複做輸入兩個浮點數,直到你按ctrl+z才結束。

26樓:燼

一直獲取n和m的值,知道輸入crtl+z為止

27樓:oo沒有蠟

輸入n,m,沒出錯的話就繼續迴圈

c語言中scanf是什麼意思,為什麼有時候後面寫%f,有時候寫%e,%lf,%c等等

28樓:彡黑彡龍彡

scanf是c語言中的一個輸入函式,意思就是當你從鍵盤中輸入數值按回車後,他會把你輸入的數值儲存到電腦,至於為什麼後面會寫%f,%e.%lf,%c那是根據scanf的物件而定的。向float,double,char就分別用%f,%e,%c

29樓:花開蝴蝶醉

scanf就是格式輸入函式。%是格式說明符,後面的字母是格式字元,scanf函式的格式是是取地址符號,這個函式的意思就是從螢幕上輸入兩個整數,分別存入a,b當然之前肯定要定義一個整形變數:

int a,b;然後在使用scanf函式。。。。簡單的說%f就是說格式是小數,%e與%f差不多,%lf是長整形雙精度,%c就是字元

30樓:十萬個為卅子

是一個輸入函式,%d表示整型,%f表示浮點型,懂了沒,後面還應該有個&,也就是取址符

31樓:俏皮

格式輸入,%f就是輸入浮點型數值,如2.2

32樓:匿名使用者

scanf是取值 %後表示輸入的型別

C語言的scanf 函式問題

scanf的意思就是接受的意思啊。你輸入了換行相當於在此接受啊。在printf函式中的 代表換行符,轉義字元只在printf中有意義,在scanf函式中無意義。像樓主這種狀況應該輸入 一個數 再按回車鍵。你理解錯誤了,在c語言裡面 printf 函式是格式化輸出函式。scanf 函式是格式化輸入函式...

求vc6 0中使用scanf函式的例子,具體點的

的一般形式。scanf 格式控制,地址表列 其中格式控制一定要是符合語法的。可以修改 include void main 測試 輸入一個整數。i 236press any key to continue最後建議lz先把書上的基本知識好好看看,要理解,然後再編程式設計序,在實踐中檢驗自己的知識和程式設...

c語言中, scanf函式是什麼意思?

scanf是手動輸入並賦值給相應引數。例如scanf 輸入a引數 d a 即給輸入數字給a賦值。在程式執行之後從鍵盤錄入。c語言中scanf有什麼作用,scanf是c語言中的一個輸入函式,與printf函式一樣,都被宣告在標頭檔案裡,因此在使用scanf函式時要加上 include 在有一些實現中,...