關於C語言printf()函式格式說明的問題

時間 2022-07-20 07:36:43

1樓:原漫信淼

對於浮點輸出格式來說

%m.nf

其中m是輸出寬度,n是精度,f是格式化控制符m指定的是輸出數字字串的

最小長度

,比如你輸出

printf(

"%2.3f"

,123.456

);//

由於實際輸出的數字123.456

共有7個字元,大於2個字元數量

,所以這裡的2其實實際上沒起到什麼作用,不過如果你printf("%8.3f"

,123.456

);,8-7=1,那麼結果將在數字前面

補乙個空格字元

,使用printf(

"%08.3f"

,123.456

);則是補乙個字元'0'

所以e如果存在於被輸出的數字串裡的話(比如使用%e),它也是要占用m的計數的,包括小數點。

n則是指定

輸出精度

,也就是

小數點後保留幾位

,預設不指定.n的時候printf會自動調整輸出到預設精確位,如果指定了n的話,printf則把數字保留小數點後n位輸出。

所以printf(

"%f",

123.456

);如果輸出123.456000的話,那麼printf("%.2f",

123.456

);則輸出123.46,

2樓:鄺華輝利蕭

n則是指定

輸出的精度

,也就是

小數點後保留的位數,

c語言問題!關於printf函式輸出格式的!

3樓:匿名使用者

double i=1,s=0,h;

宣告宣告型別的變數,就要用什麼型別的格式符;

int %d

long %ld

float %f

double %lf

char %c

char% %s

4樓:

double i=1,s=0,h;這句**裡面,h定義的是double型別的,所以,h在後面的運算和賦值,都是double型別的,%f是浮點數的輸出格式,%f輸出的時候是按照double的輸出,%d,用來輸出十進位制整數,這裡不能把double作為十進位制輸出,c語言是強語言,不會做自動轉換。

5樓:在武昌湖記筆記的公孫瓚

%f, %d對於計算機來說,根本就不認識,計算機儲存是按二進位制,%f,%lf才會按照浮點數的儲存方式去取出需要列印的輸,而%d和其他格式則是按照其他的相應方式去取,所用%d格式去取浮點數,一般都是錯誤的

6樓:

因為整型和浮點型的儲存方式不一樣

c語言printf格式輸出函式中的格式字元問題

7樓:

不管什麼編譯系統,long int始終是64bit,short int始終是32bit,會變的只有int而已。

應該採用第二種格式。lo和lx中的l是長型的識別符號,想輸出長型就必須帶上。

8樓:匿名使用者

int型資料長度是可變的(取決於字長),而long型資料長度為固定不變的4b,跟採用的編譯系統沒有關係。

9樓:

你可以下乙個turbo c++3.0的編譯系統,網上都有

c語言中printf函式輸出格式問題

10樓:匿名使用者

printf("%-6d\n",111);中的'-'表示輸出寬度在不滿6時,空格留在右邊(左齊),但是否留有空格是看不出來的,改為printf("%-6ds\n",111);後,輸出結果應該是111 s,111和s之間有3個空格。

11樓:匿名使用者

printf("%6d",111);是---111,printf("%-6d",111);是111---,這個沒錯。

你那應該是notepad++的問題,

或者你應該這樣測試線

printf("\n0123456780123456789");

printf("\n[%-6d]",111);

printf("\n[%6d]\n",111);

12樓:匿名使用者

應該是 printf("%-6d\n",111);

關於c語言函式問題,關於C語言函式問題

一般判定都是為真執行,為假不執行 圖中的 p指的是 以p變數的內容為位址的變數 而你只要看看,它所指向的變數的值是不是0,如果不是0,那麼就會執行 這個地方其實不用換成for,該用什麼用什麼,如果是題目需要的話就只能這樣寫了 for p p 10 然後在裡面寫一堆語句.不過我是沒這樣寫過,不太清楚....

C語言用printf函式輸出了幾個日期,有什麼辦法可以讀取已經輸出的返回到程式中進行比較

printf是輸出到螢幕,如果你希望輸出到記憶體中,可以用sprintf。sprintf第乙個引數為用於接收輸出的緩衝區,剩下引數和用法與printf一致。例如 printf hello,world 對應的sprintf寫法是 char buff 100 sprintf buff,hello,wor...

請教關於c語言printf和指標的問題

printf f p 首先說明,這種輸出在邏輯上是不通的 的確,這樣書是錯誤的用法!我也測試了一下,如果這樣寫 printf f f n p,p 10.09996 10.099996 printf f f n p,p 10.09996 10.09996 error1 printf f f n p,p...

關於dos命令c語言system函式

deltree已經改為deletetreedel d del不加任何引數,會有警告刪除檔案 del s q f d 直接顯示 刪除檔案 d 用到c語言 system del d 當然d 只是個為了解釋方便記憶。詳情在cmd中del 或 help del 沒有這個命令。除非是你自己寫的 程式名或 批檔...

關於memset函式,C語言的memset函式

memset是計算機中c c 語言函式。將s所指向的某一塊記憶體中的前n個 位元組的內容全部設定為ch指定的ascii值,第乙個值為指定的記憶體位址,塊的大小由第三個引數指定,這個函式通常為新申請的記憶體做初始化工作,其返回值為指向s的指標。函式介紹 void memset void s,int c...