在 C 语言中,printf(以及类似的格式化输出函数,代码中的 PRINT)使用格式说明符(format specifiers) 来指定如何输出变量。这些说明符以 % 开头,后面跟着一个或多个字符,用来表示数据类型和输出格式。
常见的格式说明符(% 后面的字符)含义如下:
|
格式符 |
含义 |
对应的数据类型 |
示例输出 |
|---|---|---|---|
|
|
有符号十进制整数 |
|
|
|
|
无符号十进制整数 |
|
|
|
|
无符号十六进制整数(小写) |
|
|
|
|
无符号十六进制整数(大写) |
|
|
|
|
无符号八进制整数 |
|
|
|
|
单个字符 |
|
|
|
|
字符串(以 |
|
|
|
|
指针地址(通常以十六进制显示) |
|
|
|
|
浮点数(十进制) |
|
|
|
|
科学计数法(小写/大写 e) |
|
|
|
|
自动选择 |
|
|
|
|
输出一个 |
— |
|
补充:修饰符(可选)
你还可以在 % 和类型字母之间加修饰符,控制宽度、精度、填充等:
%04x:十六进制,至少4位,不足补前导零 →0010%8d:十进制,至少8个字符宽,右对齐,空格填充%.2f:浮点数,保留2位小数
% 后面的字母告诉 printf:“我接下来要打印一个什么类型的值,希望用什么格式显示”。
选错格式符(比如用 %d 打印指针)会导致未定义行为(程序可能崩溃或输出乱码),所以务必匹配变量类型。
如果你在嵌入式开发中常用 uint32_t、handle_t 等类型,建议:
- 句柄、地址 → 用
%x或%p - 错误码(无符号)→ 用
%u或%x(十六进制更常见) - 字符串 →
%s - 字符 →
%c
C语言printf格式说明符详解
1116

被折叠的 条评论
为什么被折叠?



