Code | 格式 |
%c | 字符 |
%d | 带符号整数 |
%i | 带符号整数 |
%e | 科学计数法, 使用小写"e" |
%E | 科学计数法, 使用大写"E" |
%f | 浮点数 |
%g | 使用%e或%f中较短的一个 |
%G | 使用%E或%f中较短的一个 |
%o | 八进制 |
%s | 一串字符 |
%u | 无符号整数 |
%x | 无符号十六进制数, 用小写字母 |
%X | 无符号十六进制数, 用大写字母 |
%p | 一个指针 |
%n | 参数应该是一个指向一个整数的指针 指向的是字符数放置的位置 |
%% | 一个'%'符号 |
printf ("%m.f"); m是总位数(包括小数点),f是小数点后多少位(四舍五入,不绝对);
0是空白位用0补充 -是向左对齐(默认右对齐) +是向右对齐
#是显示八进制和十六进制的前缀 如 0 0x
这个应该是动态的用后面的数填充‘*’
关于%g(是在%f和%e中较短的形式输出,并且会省略多余的0)如:
#include <stdio.h>
int main(void){
double a = 123456.0;
printf("%g",a);
return 0;
}
a为123456.0 结果: 123456
1234567.0 1.23457e+006
0.1234567 0.123457
0.00001 1e-005
0.0001 0.0001
%g输出的是一个不超过6位的数,超出部分四舍五入,指数>=6 时候用科学计数法表示。%g %G 区别是输出时候 e E;
%f输出是小数点后6位,超出部分四舍五入