占位符 | 适用类型 | 输出形式 | 备注 |
---|---|---|---|
%c | char | 单个字符 | 参数按 ASCII 输出 |
%s | char* | 字符串 | 直到遇到 \0 或精度限制 |
%d / %i | int | 有符号十进制整数 | 正数不显示符号 |
%u | unsigned int | 无符号十进制整数 | |
%o | unsigned int | 无符号八进制整数 | 不带前导 0 |
%x / %X | unsigned int | 无符号十六进制整数 | %x 小写,%X 大写 |
%f | float / double | 小数形式浮点数 | 默认 6 位小数 |
%e / %E | float / double | 指数形式浮点数 | 默认 6 位小数 |
%g / %G | float / double | 选 %f 或 %e 中更短的 | 会去掉多余 0 |
%p | 指针 | 实现相关地址表示 | |
%n | int* | 已输出字符数写入指针 | 不打印内容 |
%% | — | 输出一个百分号 | 把 %% 写进格式串即可 |
常用修饰符
宽度:%5d
表示最少占 5 列,不足右侧补空格
精度:%.2f
输出两位小数;%.3s
最多打印 3 个字符
左对齐:%-10s
在 10 列内左对齐字符串
前导零:%04d
不足位用 0 填充,如 0075
#
:在八、十六进制前加 0
或 0x
,如 %#x