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...