lf控制輸出長度

2022-03-24 11:23:08 字數 1328 閱讀 4382

1 #include2

intmain()

7return0;

8 }

說明:小數點「.」後面的「*」表示輸出位數,具體的資料來自參數列。

printf格式字串中,與寬度控制和精度控制有關的常量都可以換成變數,方法就是使用乙個「*」代替那個常量,然後在後面提供變數給「*」。

同樣,小數點「.」前面也可以新增「*」,也要使用者輸入乙個位寬值來代替,表示輸出的字元所佔位寬。

1 #include2

intmain()

輸出結果:

1

this

iste

2this

iste315

104this

is te

注:printf的一般形式為printf("格式控制字串",輸出列表),格式控制字串形式為:[標誌][輸出最小寬度][精度][長度]型別。

其中方括號中的項為可選項。各項的意義介紹如下:

1)型別:型別字元用以表示輸出資料的型別,其格式符和意義如下表所示:

d  以十進位制形式輸出帶符號整數(正數不輸出符號)

o  以八進位制形式輸出無符號整數(不輸出字首 0)

x,x  以十六進製制形式輸出無符號整數(不輸出字首 ox)

u  以十進位制形式輸出無符號整數

f  以小數形式輸出單、雙精度實數

e,e  以指數形式輸出單、雙精度實數

g,g  以%f 或%e 中較短的輸出寬度輸出單、雙精度實數

c  輸出單個字元

s  輸出字串

2)標誌:標誌字元為-、+、#、空格四種,其意義下表所示:

-  結果左對齊,右邊填空格

+  輸出符號(正號或負號)

空格  輸出值為正時冠以空格,為負時冠以負號

#  對 c,s,d,u類無影響;對 o 類,在輸出時加字首 o;對 x 類,在輸出時加字首 0x;對 e,g,f 類當結果有小數時才給出小數點

3)輸出最小寬度:用十進位制整數來表示輸出的最少位數。 若實際位數多於定義的寬度,則按實際位數輸出,若實際位數少於定義的寬度則補以空格或 0。

4)精度:精度格式符以「.」開頭,後跟十進位制整數。本項的意義是:如果輸出數字,則表示小數的位數;如果輸出的是字元,則表示輸出字元的個數;若實際位數大於所定義的精度數,則截去超過的部分。

5)長度:長度格式符為 h,l 兩種,h 表示按短整型量輸出,l 表示按長整型量輸出。

TIMER門控模式控制PWM輸出長度

timer門控模式控制pwm輸出長度 參照一些 做了些修改,由tim4來控制tim2的pwm輸出長度,採用主從的門控模式,即tim4輸出高時候tim2使能輸出 tim2 pwm輸出,由tim4來控制其輸出與停止 frequency tim2 tim2 pwm輸出週期 khz duty tim2 ti...

scanf控制長度,printf控制長度和精度

若定義float a 現要從鍵盤輸入a資料,其整數字為3位,小數字為2位,則選用 a a scanf 6f a b scanf 5.2f a c scanf 6.2f a d scanf f a 為什麼不是scanf 3.2f a 例子 include includeint main 原來scanf...

關於輸出用 lf和 f的問題

問 有人告訴我不能在printf中使用 lf。為什麼printf 用 f輸出double型,而scanf卻用 lf呢?答 printf的 f說明符的確既可以輸出float型又可以輸出double型。根據 預設引數提公升 規則 在printf這樣的函式的可變引數列表中,不論作用域內有沒有原型,都適用這...