AI智慧餐食机物联网平台懒人专属寻投资人
2026/1/16 21:21:27
在C语言中,printf()(以及scanf()等函数)使用的% + 字母称为格式说明符(或格式占位符),它们告诉函数应该以什么格式来输出(或输入)对应的参数。
以下是你问到的几个最常用格式说明符的含义(2025~2026年标准仍然一致):
| 格式符 | 代表的数据类型 | 含义说明 | 常见用法举例 | 输出样子示例 |
|---|---|---|---|---|
%d | int / signed int | 十进制有符号整数(最常用的整数格式) | printf("%d", 123); | 123 |
%f | float / double | 浮点数(默认显示6位小数) | printf("%f", 3.14159); | 3.141590 |
%p | 指针(任何指针类型) | 指针地址(通常以16进制显示,带0x前缀) | int a; printf("%p", &a); | 0x7ffee4c0a4ac |
%c | char | 单个字符 | printf("%c", 'A'); | A |
%s | char*(字符串) | 字符串(从地址开始输出直到遇到’\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十六 %%百inta=65;printf("%d\n",a);// 输出 65printf("%c\n",a);// 输出 Adoublepi=3.1415926535;printf("%f\n",pi);// 3.141593printf("%.3f\n",pi);// 3.142printf("%.8f\n",pi);// 3.14159265int*p=&a;printf("%p\n",p);// 类似 0x7ffee1234568printf("%p\n",(void*)p);// 推荐写法,更规范printf("成功率: 99%%!\n");// 必须写 %% 才能输出 %希望这个总结能帮你快速记住这些最核心的格式说明符!
有其他格式符(如%lld、%zu、%lf等)想了解也可以继续问~ 😄