在C语言中,printf()(以及scanf()等函数)使用的 % + 字母 称为格式说明符(或格式占位符),它们告诉函数应该以什么格式来输出(或输入)对应的参数。

以下是你问到的几个最常用格式说明符的含义(2025~2026年标准仍然一致):

格式符代表的数据类型含义说明常见用法举例输出样子示例
%dint / signed int十进制有符号整数(最常用的整数格式)printf("%d", 123);123
%ffloat / double浮点数(默认显示6位小数)printf("%f", 3.14159);3.141590
%p指针(任何指针类型)指针地址(通常以16进制显示,带0x前缀)int a; printf("%p", &a);0x7ffee4c0a4ac
%cchar单个字符printf("%c", 'A');A
%schar*(字符串)字符串(从地址开始输出直到遇到’\0’)printf("%s", "Hello");Hello
%%无(特殊情况)输出一个百分号本身(% 是转义字符)printf("完成度: 100%%");完成度: 100%

常用对比记忆表(面试/考试常考)

想输出什么类型      →     用什么格式符     →     备注
───────────────     ────────────────     ────────────────────────
普通整数             →     %d              ←  最常用!!
正整数也可以         →     %u              (无符号十进制)
单个字符             →     %c
字符串               →     %s              ←  非常常用!
浮点数               →     %f              默认6位小数
更精确的浮点数       →     %.2f / %.3f     控制小数位数
科学计数法           →     %e / %g
指针地址             →     %p              几乎总是带0x前缀
要输出 % 符号本身    →     %%              ←  转义!!
十六进制(小写)     →     %x
十六进制(大写)     →     %X
八进制               →     %o

快速记忆口诀(超好用)

%d整 %f浮 %c字 %s串
%p指 %u无 %x十六 %%百

几个最容易出错的例子(建议都背下来)

int a = 65;
printf("%d\n", a);     // 输出 65
printf("%c\n", a);     // 输出 A

double pi = 3.1415926535;
printf("%f\n", pi);          // 3.141593
printf("%.3f\n", pi);        // 3.142
printf("%.8f\n", pi);        // 3.14159265

int *p = &a;
printf("%p\n", p);           // 类似 0x7ffee1234568
printf("%p\n", (void*)p);    // 推荐写法,更规范

printf("成功率: 99%%!\n");   // 必须写 %% 才能输出 %

希望这个总结能帮你快速记住这些最核心的格式说明符!
有其他格式符(如%lld%zu%lf等)想了解也可以继续问~ 😄

文章已创建 3771

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部