新聞中心
printf函數(shù)的聲明如下:

創(chuàng)新互聯(lián)建站是一家專業(yè)從事網(wǎng)站建設(shè)、網(wǎng)站制作的網(wǎng)絡(luò)公司。作為專業(yè)網(wǎng)站建設(shè)公司,創(chuàng)新互聯(lián)建站依托的技術(shù)實力、以及多年的網(wǎng)站運營經(jīng)驗,為您提供專業(yè)的成都網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)及網(wǎng)站設(shè)計開發(fā)服務(wù)!
int printf(const char *format, ...)
printf() 的格式控制字符串組成如下:
%[flags][width][.precision][length]specifier
%[標(biāo)志][最小寬度][.精度][長度]說明符,其中[]代表可選的。
一、flags(標(biāo)志)
1.1、-
在給定的字段寬度內(nèi)左對齊,默認(rèn)是右對齊。如下圖,當(dāng)以10個字符寬度輸出時候,默認(rèn)是右對齊,如果在輸出時加入-標(biāo)志,則會按照左對齊輸出。
1.2、+
強制在結(jié)果之前顯示加號或減號(+ 或 -),即正數(shù)前面會顯示 + 號。默認(rèn)情況下,只有負(fù)數(shù)前面會顯示一個 - 號。如下圖,當(dāng)僅以%d輸出8時,僅僅輸出8,而不會在8的前面加上正號。但是如果在輸出的時候加上+標(biāo)志,則會在結(jié)果顯示前加入正號。
1.3、(space)
如果沒有寫入任何符號,則在該值前面插入一個空格。同樣看上面的例子,在以% d輸出時。在8的前面有一個空格。
1.4、#
與 o、x 或 X 說明符一起使用時,非零值前面會分別顯示 0、0x 或 0X。與 e、E 和 f 一起使用時,會強制輸出包含一個小數(shù)點,即使后邊沒有數(shù)字時也會顯示小數(shù)點。默認(rèn)情況下,如果后邊沒有數(shù)字時候,不會顯示顯示小數(shù)點。與 g 或 G 一起使用時,結(jié)果與使用 e 或 E 時相同,但是尾部的零不會被移除。如下圖,第一個是以十進制輸出8,第二個是以八進制輸出10,轉(zhuǎn)換成二進制位001 000,剛好對應(yīng)十進制為8,第三個是以十六進制輸出,只不過是在十六進制標(biāo)識0x,第四個是以八進制輸出,在輸出結(jié)果前加入八進制標(biāo)識0,以0開頭的數(shù)字就是八進制,例如定義一個變量int a = 010;以十進制輸出a就是8.
1.5、0
在指定填充 padding 的數(shù)字左邊放置零(0),而不是空格,這個是跟寬度參數(shù)一塊用。如下圖,其中3是可選項width的參數(shù),代表三個寬度,如果前面加入0,則代表前面以0填充而不是空格填充。
二、width(寬度)
2.1、(number)
要輸出的字符的最小數(shù)目。如果輸出的值短于該數(shù),結(jié)果會用空格填充。如果輸出的值長于該數(shù),結(jié)果不會被截斷。
2.2、*
寬度在 format 字符串中未指定,但是會作為附加整數(shù)值參數(shù)放置于要被格式化的參數(shù)之前。如下圖,如果想和上面的圖輸出一至,寬度可以作為一個參數(shù)傳遞實現(xiàn)相同輸出。
三、precision(精度)
同width用法相同。
四、length(長度)
在此我們只要知道hh占一個字節(jié),h占兩個字節(jié),l占四個字節(jié),ll占八字節(jié)即可。如下圖,將~0以十六進制輸出。
五、specifier(說明符)
說明符是必選項,比較常用。說兩個不經(jīng)常用到的,如下圖,如需要打印%符號,只需%%即可,如果需要輸出引號則需要加轉(zhuǎn)義字符\。
所有的測試如下,稍微做一些變動。
如何快速記住格式呢,就記首字母吧,F(xiàn)WPLS,多念幾次就記住了。且慢,突然想到一個好的記憶方法,在這字母加入一個U字母,也就是U(你),F(xiàn)WPLUS,后四個字母plus是加的意思,F(xiàn)W聯(lián)想一下,第一個想到的就是FW(廢物),巧了,搜狗也是。連在一塊就是廢物+,而且還加了一個U。噗哈哈...
當(dāng)前題目:C語言庫函數(shù)-printf()
本文網(wǎng)址:http://m.fisionsoft.com.cn/article/dhjhggs.html


咨詢
建站咨詢
