在 C 语言中,printf
函数的格式说明符是用来告诉程序“我想怎么显示这个变量”。这些说明符不仅能控制数据类型,还能控制输出的格式,比如宽度、精度、对齐方式等。下面是最全的格式说明符大全,按类型分类整理,让你一目了然:
🔢 整数类型说明符
说明符 |
含义 |
%d / %i |
有符号十进制整数(int) |
%u |
无符号十进制整数(unsigned int) |
%o |
无符号八进制整数 |
%x / %X |
无符号十六进制整数(小写 / 大写) |
%ld / %li |
长整型(long int) |
%lu |
无符号长整型 |
%lld |
长长整型(long long) |
%llu |
无符号长长整型 |
%hhd |
有符号字符型(char) |
%hhu |
无符号字符型(unsigned char) |
%hd |
有符号短整型(short) |
%hu |
无符号短整型(unsigned short) |
🧮 浮点类型说明符
说明符 |
含义 |
%f |
浮点数(float 或 double)以小数形式输出 |
%lf |
双精度浮点数(double) |
%e / %E |
科学计数法表示浮点数(小写 / 大写) |
%g / %G |
自动选择 %f 或 %e ,去掉无意义的零 |
%a / %A |
十六进制浮点数(C99标准) |
🧠 字符与字符串说明符
说明符 |
含义 |
%c |
单个字符 |
%s |
字符串(char 数组) |
🧭 指针与地址说明符
🔧 其他特殊说明符
说明符 |
含义 |
%% |
输出一个 % 字符本身 |
%n |
将当前输出的字符数存入对应变量(很少用) |
🎨 格式控制修饰符(可组合使用)
修饰符 |
功能 |
- |
左对齐 |
+ |
显示正号 |
0 |
用 0 填充空位 |
# |
显示进制前缀(如 0x ) |
m.n |
指定宽度和精度(如 %7.2f 表示总宽度 7,小数点后 2 位) |
* |
用变量指定宽度或精度(如 printf("%*.*f", w, p, x); ) |