在 C 语言中,printf() 函数的格式输出符(格式说明符)用于控制输出的格式和数据类型。以下是常见的格式说明符及其用法:
基本格式符
格式输出符 | 数据类型 | 说明 |
---|
%d | int | 输出有符号十进制整数 |
%u | unsigned int | 输出无符号十进制整数 |
%c | char | 输出单个字符。 |
%f | float/double | 输出浮点数(默认保留6位小数 |
%Lf | long double | 输出浮点数 |
%e/%E | float/double | 科学计数法输出浮点数(如3.14e+1或者3.14E+1) |
%g/%G | float/double | 自动选择 %f 或 %e,省略末尾的零 |
%s | char* | 输出字符串(以 \0 结尾的字符数组) |
%p | void* | 输出指针地址(十六进制格式) |
%x/%X | unsigned int | 输出十六进制整数(小写或大写字母) |
%o | unsigned int | 输出八进制整数 |
%% | | 输出 % 符号本身 |
%a/%A | float/double | 输出浮点数的十六进制表示(C99 起支持,如 0x1.5p+1) |
%zd | sizeof() | 输出数据类型的大小 |
%zu | sizeof() | 输出数据类型的大小 |
格式修饰符
格式输出符 | 说明 |
---|
%5d | 输出至少 5 字符宽,不足时右对齐填充空格 |
%-5d | 左对齐填充空格 |
%05d | 输出至少 5 字符宽,右对齐并用 0 填充(如 00123) |
%.2f | 保留 2 位小数 |
%.5s | 最多输出字符串的前 5 个字符 |
%10.3f | 总宽度 10 字符,保留 3 位小数。 |
%* | 动态指定宽度或精度 |
int width = 8, precision = 3;
printf("%*.*f", width, precision, 3.14159);
转义字符