3 回答

TA貢獻2051條經(jīng)驗 獲得超10個贊
這里更詳細(xì)。
整數(shù)值或*指定最小字段寬度。如果需要,結(jié)果用空格字符填充(默認(rèn)情況下),在右對齊時在左側(cè)填充,在左對齊時在右側(cè)填充。在使用*的情況下,寬度由int類型的附加參數(shù)指定。如果參數(shù)的值為負(fù),則結(jié)果將指定為-標(biāo)志,且字段寬度為正。(注意:這是最小寬度:該值永遠不會被截斷。)
.后跟整數(shù)或*,或者都不指定轉(zhuǎn)換的精度。在使用*的情況下,精度由int類型的附加參數(shù)指定。如果此參數(shù)的值為負(fù),則將其忽略。如果既不使用數(shù)字也不使用*,則精度為零。有關(guān)精度的確切影響,請參見下表。
因此,如果我們嘗試兩種轉(zhuǎn)換規(guī)范
#include <stdio.h>
int main() {
int precision = 8;
int biggerPrecision = 16;
const char *greetings = "Hello world";
printf("|%.8s|\n", greetings);
printf("|%.*s|\n", precision , greetings);
printf("|%16s|\n", greetings);
printf("|%*s|\n", biggerPrecision , greetings);
return 0;
}
我們得到輸出:
|Hello wo|
|Hello wo|
| Hello world|
| Hello world|
- 3 回答
- 0 關(guān)注
- 1256 瀏覽
添加回答
舉報