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

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

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是最後一次輸入的那個值

c語言double型別保留小數問題

double型別保留小數有兩種情況 1 在輸出時保留兩位小數 用printf通過格式字元即可控制小數的保留。如double a 1.234 printf 2lf a 會輸出1.23 2 在執行過程中結果保留兩位小數。可以藉助轉為整型,及乘除運算實現。如double a 1.235 a int a 1...

c語言中int型變數加上double型的變數

程振 會將int型別轉換成double型別再與double型別的變數相加。型別不一樣的數相加,首先將型別轉換成一樣的然後相加,轉換原則,短型別向長型別看齊,長短指在記憶體中所佔空間的長短 得出的結果是double型.這個不需要強制轉換的,系統會自動轉換的. double,計算時會自動轉化之doubl...

c語言中變數的地址是什麼型別的,C語言中變數的地址是什麼型別的

風若遠去何人留 變數的地址,在c語言中,一般寫作指標型別。不同型別的變數地址,用不同的指標進行儲存。比如,char 型別的地址,使用char 儲存,而int型地址,用int 儲存。除此外,部分情況下也會採用整型型別來儲存變數地址,具體使用何種整型型別,取決於編譯器 1 16位編譯器,地址佔16位,2...