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