C语言格式化输出
文章目录
1. 基本格式化输出符号
符号 | 含义 |
---|---|
%c | 字符 |
%d | 十进制整数 |
%e | 浮点数,指数e的形式 |
%s | 字符串 |
%E | 浮点数,指数E的形式 |
%u | 无符号十进制整数 |
%f | 浮点数,小数点形式 |
%g | 输出%f与%e较短者 |
%o | 无符号八进制整数 |
%G | 输出%F与%E较短者 |
%x | 无符号十六进制整数,以0~f表示 |
%X | 无符号十六进制整数,以0~F表示 |
%l | 长整型,加在d,o,u,x,X之前,如%ld(注意%l是英文字母l,不是数字1) |
1.1 %g详解
当一个数字的绝对值很小的时候,要表示这个数字所需要的字符数目就会多到让人难以接受。举例而言,如果我们把 π*10^-10 写作 0.00000000000314159 就会显得非常丑陋不雅,反之,如果我们写作 3.14159e-10,就不但简洁而且易读好懂。
当指数是 -4 时,这两种表现形式大小相同。对于比较小的数值,除非该数的指数小于或者等于-5,%g 才会采用科学技术发来表示,即,以 %e 的格式进行输出。
示例程序:
printf("%g\n", 0.00031415926235);
0.000314159
printf("%g\n", 0.000000031415926235);
3.14159e-008
2. printf函数解析
函数原型:
int printf(const char *format,[argument]);
format 参数输出的格式,定义格式为:
%[flags][width][.perc] [F|N|h|l]type