c語言,double型別的變數使用scanf 函式賦值後再

時間 2021-08-11 18:10:21

1樓:匿名使用者

c語言中double輸入輸出,都用 %lf 進行格式化,是否寫成了 %f, 這個是float型別。

#include

int main()

2. 字元定義如下

字元 對應資料型別 含義

d / i int 接受整數值並將它表示為有符號的十進位制整數,i是老式寫法

o unsigned int 無符號8進位制整數(不輸出字首0)

u unsigned int 無符號10進位制整數

x / x unsigned int 無符號16進位制整數,x對應的是abcdef,x對應的是abcdef(不輸出字首0x)

f(lf) float(double) 單精度浮點數用f,雙精度浮點數用lf(尤其scanf不能混用)

e / e double 科學計數法表示的數,此處"e"的大小寫代表在輸出時用的“e”的大小寫

g / g double 使用以上兩種中最短的形式,大小寫的使用同%e和%e

c char 字元型。可以把輸入的數字按照ascii碼相應轉換為對應的字元

s / s char * / wchar_t * 字串。輸出字串中的字元直至字串中的空字元(字串以'\0‘結尾,這個'\0'即空字元)

p void * 以16進位制形式輸出指標

n int * 到此字元之前為止,一共輸出的字元個數,不輸出文字

% 無輸入 不進行轉換,輸出字元‘%’(百分號)本身

m 無 列印errno值對應的出錯內容,(例: printf("%m\n"); )

2樓:京縈

float是4個位元組,而double是8個位元組,如果你要寫入double你就必須寫入8個位元組,4個位元組的寫入使得另外4個位元組就是隨機數字,可以用long float來替代double因為他也是8個位元組。

3樓:逐夢兮樂

#include

void main()

雙精度double要用%lf,不信,你試一試。祝你愉快!

4樓:廣月凋

因為double不能用%f來控制輸入和輸出,應該用%ld來控制輸入和輸出。

#include

void main( )

5樓:

scanf(“%lf”,&x)或scanf(“%le”,&x)才可以用來輸入double型別的資料

結構體型別的指標引用成員變數,給成員變數用scanf怎麼賦值?

6樓:興弘懿那葛

你需要定義結構體型別的變數啊

例如:graph

a,*ga;ga=

&a;//ga指向a

scanf(.....,&(ga->x[i]...);

這樣才是可以的。

7樓:南霞輝雪珂

沒錯啊,編譯都通過了,會不會是你的編譯器的問題?

8樓:性天藍鄔音

ga是指標變數,沒有給它分配記憶體,可以用malloc函式

為什麼c語言中不能用scanf()函式反覆對同一個字元型變數賦值

9樓:千鋒教育

int a;

scanf("%d",&a);

scanf("%d",&a);

scanf("%d",&a);

a是最後一次輸入的那個值

double型別變數c語言裡輸出時的格式說明符是什麼

蟲心菜 float和double型別的輸出時的格式說明符都是 f,這是由於向那些未在原型中申明引數型別的函式傳遞引數時,float型會自動轉為double型,所以用 lf和 f結果都一樣。例如 double a 3.1323 float b 0.234 printf lf n a 輸出結果為3.13...

關於C語言變數儲存型別的問題

聽雨晨安 1開始已經定義了全域性變數i,而main函式中又有個i的宣告,有什麼作用呢?答 如果重複定義了i變數,那麼對於內層的塊,有效的是 main函式中的i 2.然後在new函式中傳入了i的值,全域性變數在這裡起作用?和1類似,全域性變數i的作用域為程式執行到程式結束,並且對於每個塊,都有效。大致...

C語言中有哪些儲存型別,C語言中變數的儲存型別有哪幾種,儲存方式哪幾種?謝嘍

千鋒教育 c語言中的儲存型別有auto,extern,register,static 這四種,儲存型別說明了該變數要在程序的哪一個段中分配記憶體空間,可以為變數分配記憶體儲存空間的有資料區 bbs區 棧區 堆區。1.auto儲存型別 auto只能用來標識區域性變數的儲存型別,對於區域性變數,auto...