文章目录
序言
- X 数据输出格式
- m 最小字段宽度 👉最小字段宽度
- p 精度 👉精度
数据输出格式
X | 例子 | 说明 |
---|---|---|
d | %d | 打印int型,m默认1 |
f | %f | 打印float型,小数点后默认6位 |
e | %e | 以科学计数法的形式打印,小数点后默认6位 |
g | %g | 以科学计数法或者float型打印,方式看g的大小选择 |
e
#include <stdio.h>
int main()
{
float a = 1001.0f;
printf("%e\n", a);
return 0;
}
g
#include <stdio.h>
int main()
{
float a = 1001.0f;
printf("a == %g\n", a);
float b = 1000000.132f;
printf("b == %g\n", b);
return 0;
}
最小字段宽度
这个代码是指我们 为a 分配10个字宽,要是a的数据长度不够10个,用空格填充
- + 表示数据在后
- - 表示数据在前
#include <stdio.h>
int main()
{
int a = 11;
printf("%10d\n", a); // + 号省略
printf("%-10d\n", a);
return 0;
}
或许有人可能会疑惑,当我们数值的长度大于 m 的值会发生什么,其实从m的名字就可以知道了,m是最小字段宽度,但我们给的数据的长度大于m,会打印出数值的值
#include <stdio.h>
int main()
{
int a = 11111111;
printf("%5d\n", a);
return 0;
}
精度
- %.2f 表示 小数点保留2位
- %4.2f 表示最小字段是4,小数点后保留2位
#include <stdio.h>
int main()
{
float a = 1.0f;
printf("%15.2f\n", a);
return 0;
}