转换说明格式有两种%m.nX或者%-m.nX。其中X为字母,m为最小栏宽,n为精度默认为右对齐,加负号(-)将改为左对齐;
- m(最小栏宽) m指定了显示的最小字符数量,若m小于实际显示的字符数则m会提升至恰好相等;若m大于实际显示的字符数则会以空格来补齐。
- n(精度) %d: n指定了显示的最小数字个数 ,默认在数字前面以0来补齐,若省略默认n为1。 %f: n指定了显示数字的精度,默认为6。若n为0,则不显示小数点。 %e: 以科学计数法表示浮点数,n指定了显示数字的精度,默认为6,若n为0则不显示小数点。 %g:以科学计数法或者十进制形式表示浮点数,具体取决于数字的大小。n指定了有效数字的位数。与%f不同,它不显示尾随的0。此外若要显示的数字没有小数,则不会显示小数点 例子:
-
#include<stdio.h> int main(void) { int i = 10; float j = 142.42f; //用·来代替空格 printf("%d\n", i); //10 printf("%5d\n", i); //···10 printf("%-5d\n", i); //10··· printf("%5.3d\n", i); //··010 printf("%5.3f\n", j); //142.420 printf("%5.3e\n", j); //1.424e+02 printf("%7.7g\n", j); //·142.42