%d:按整型數據的實際長度輸出。
%md:m爲指定的輸出字段的寬度。如果數據的位數小於m,則左端補以空格,若大於m,則按實際位數輸出。
%0md:m爲指定的輸出字段的寬度。如果數據的位數小於m,則左端補以0,若大於m,則按實際位數輸出。(%0md不是右補零,還是右補空格)。
⑥s格式:用來輸出一個串。無法像%d那樣左補零。
%s:例如:printf("%s", "CHINA")輸出"CHINA"字符串(不包括雙引號)
%ms:輸出的字符串佔m列,如果字符串本身長度大於m,則突破獲m的限制,將字符串全部輸出。若串長小於m,則左補空格。
%-ms:如果串長小於m,則在m列範圍內,字符串向左靠,右補空格。
%m.ns:輸出佔m列,但只取字符串中左端n個字符(或遇到'\0'爲止)。這n個字符輸出在m列的右側,左補空格。
%-m.ns:其中m、n含義同上,n個字符輸出在m列範圍的左側,右補空格。如果n>m,則自動取n值,即保證n個字符正常輸出。
%*.*s:printf("[%*.*s]", a, b, p); // p爲字符串,總共輸出長度爲a, 取p的左邊b個字符,左補零;
%-*.*s:printf("[%-*.*s]",
a, b, p);
// p爲字符串,總共輸出長度爲a, 取p的左邊b個字符,右補零;
⑦f格式:用來輸出實數(包括單、雙精度),以小數形式輸出。
%f:不指定寬度,整數部分全部輸出並輸出6位小數。
%m.nf:輸出共佔m列,其中有n位小數,若數值寬度小於m左端補空格。
%-m.nf:輸出共佔m列,其中有n位小數,若數值寬度小於m右端補空格。