printf,format等函數(shù)中的格式控制字符串。
%d???? 用來輸出十進制整數(shù),可以由長度修飾。
?int a = 28,b = 38;
?long c = 289868;
?printf("%5d,%5d\n%ld\n",a,b,c);
?printf("%3ld\n%7ld\n%d\n",c,c,c);
?輸出結果為:
??? 28,?? 38
?289868
?289868
? 289868
?27724??????? //按整型數(shù)位數(shù)輸出,被截斷。
%o和%x?用來以8進制和16進制數(shù)輸出,%lx輸出長整型數(shù),%X大寫輸出。可指定寬度
%u?以無符號十進制整數(shù)方式輸出,可指定寬度
%c?用來以字符方式輸出,在0-255之間的整數(shù)也可以以字符方式輸出
?char ch = 'a';
?int a = 65;
?printf("%c,%d,%3c\n",ch,ch,ch);
?printf("%c,%d,%3d\n",a,a,a);
?輸出結果為:
?a,97,? a
?A,65, 65
%s?用來以字符串格式輸出,當字符串長小于指定的寬度時,可以選擇左對齊或右對齊,另外還可以選擇字符串的前n個字符。
?printf("%s","hello\n");
?printf("hello\n");
?printf("%3s,%-5.3s,%5.2s\n","hello","hello","hello");
?輸出結果為:
?hello
?hello
?hel,hel? ,?? he??? //符號表示左對齊,5表示格式寬度,還有表示截取字符。
%f?用來以小數(shù)方式輸出,可以指定寬度,左右對齊,指定小數(shù)位。默認的小數(shù)位是6位。
?float x = 123.456;
?double y = 321.654321;
?long double z = 3.141592653;
?printf("%f,%-7.2f,%10.4f\n",x,x,x);
?printf("%lf,%-7.2lf,%10.4lf\n",y,y,y);
?printf("%Lf,%-7.2Lf,%10.4Lf,%14.10Lf\n",z,z,z,z);
?輸出結果為:
?123.456001,123.46,?? 123.4560
?321.654321,321.65,?? 321.6543
?3.141593,3.14? ,???? 3.1416,?? 3.1415926530
%e?用來給浮點數(shù)輸出指數(shù)方式