测试代码:
#include <stdio.h>
int main(){
int i=78;
float x = 839.21;printf("|%d|%5d|%-5.4d|%5.4d|\n",i,i,i,i);
printf("%10.3f|%10.3e|%-10g|\n",x,x,x);
return (0);
}
输出结果:
|78| 78|0078 | 0078|
839.210| 8.392e+02|839.21 |
转换说明:
%d ——显示十进制形式的变量i,显示最小的字段宽。
%5d——显示十进制的变量i,且使用了5个字符最小字段宽。因为变量i只占两个字符,所以其添加3位空格。
%-5.4d——显示十进制形式的变量i,且使用了5个字符最小字段宽,而且至少要4位数。因为变量i只有两个字符长度,所以添加额外的零来保证另外的四位数字。为了保证占5个字符,因为结果之后4个字符长度,所以左对齐添加空格。
%5.4d——显示十进制形式的变量i,且使用了5个字符最小字段宽,而且至少要4位数。因为变量i只有两个字符长度,所以添加额外的零来保证另外的四位数字。为了保证占5个字符,因为结果之后4个字符长度,所以右对齐添加空格。
%10.3f——显示定点十进制形式的变量x,且总共占10个字符,其小数点后保留3位数字。因为变量x只有7个字符,所以变量x前面有3个空格。
%10.3e——显示指数形式的变量x,总共输入10个字符长度,其小数点后baoliu3位数字,变量x总占有9个字符,所以前面有一个空格。
%10.3g——既可以显示定点十进制的形式的变量x,也可以显示指数形式的变量x,且总共用10个字符。所以后面有4个空格。
%.ps-----显示字符串的一部分,p是要显示的数量。
%m.ps——显示字符串的前P个字符在大小为m的区域显示,如果字符串小于m字符,则会在m区域内右对齐。相反,加个-号则是左对齐。