printf,format等函数中的格式控制字符串。
%d 用来输出十进制整数,可以由长度修饰。
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 //按整型数位数输出,被截断。
%o和%x 用来以8进制和16进制数输出,%lx输出长整型数,%X大写输出。可指定宽度
%u 以无符号十进制整数方式输出,可指定宽度
%c 用来以字符方式输出,在0-255之间的整数也可以以字符方式输出
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 用来以小数方式输出,可以指定宽度,左右对齐,指定小数位。默认的小数位是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 用来给浮点数输出指数方式