mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6
292 字
1 分钟
c06
2025-11-13
c

C/C++ 格式转义符完整参考手册#

整数类型格式符#

格式符含义示例
%d有符号十进制整数printf("%d", 123); → “123”
%i有符号十进制整数(同%d)printf("%i", 123); → “123”
%u无符号十进制整数printf("%u", 123u); → “123”
%o无符号八进制整数printf("%o", 10); → “12”
%x无符号十六进制(小写)printf("%x", 255); → “ff”
%X无符号十六进制(大写)printf("%X", 255); → “FF”

浮点数类型格式符#

格式符含义示例
%f小数形式浮点数printf("%f", 3.14); → “3.140000”
%e指数形式(小写e)printf("%e", 123.45); → “1.234500e+02”
%E指数形式(大写E)printf("%E", 123.45); → “1.234500E+02”
%g自动选择%f或%e(较短者)printf("%g", 123.45); → “123.45”
%G自动选择%f或%E(较短者)printf("%G", 0.0001); → “0.0001”
%a十六进制浮点数(C99)printf("%a", 3.14); → “0x1.91eb86p+1”
%A十六进制浮点数(大写)printf("%A", 3.14); → “0X1.91EB86P+1”

字符和字符串格式符#

格式符含义示例
%c单个字符printf("%c", 'A'); → “A”
%s字符串printf("%s", "hello"); → “hello”
%p指针地址printf("%p", &x); → “0x7ffeeb39a82c”

特殊格式符#

格式符含义示例
%%输出%字符本身printf("%%"); → ”%“
%n将已输出字符数存入指针int count; printf("hi%n", &count); → count=2

长度修饰符#

修饰符含义示例
%hdshort intshort s=100; printf("%hd", s);
%ldlong intlong l=1000L; printf("%ld", l);
%lldlong long intlong long ll=1000LL; printf("%lld", ll);
%luunsigned longunsigned long ul=1000UL; printf("%lu", ul);
%lfdoubledouble d=3.14; printf("%lf", d);
%Lflong doublelong double ld=3.14L; printf("%Lf", ld);

完整示例代码#

#include <stdio.h>
int main() {
int integer = 42;
float floating = 3.14159;
double double_val = 2.71828;
char character = 'X';
char string[] = "Hello World";
void* pointer = &integer;
// 整数类型
printf("十进制: %d\n", integer); // 42
printf("八进制: %o\n", integer); // 52
printf("十六进制: %x\n", integer); // 2a
printf("十六进制: %X\n", integer); // 2A
// 浮点类型
printf("浮点数: %f\n", floating); // 3.141590
printf("科学计数: %e\n", floating); // 3.141590e+00
printf("自动选择: %g\n", 123.45); // 123.45
printf("自动选择: %g\n", 0.000123); // 1.23e-04
// 字符和字符串
printf("字符: %c\n", character); // X
printf("字符串: %s\n", string); // Hello World
printf("指针: %p\n", pointer); // 0x7ffd42a1b2ac
// 宽度和精度控制
printf("宽度8: |%8d|\n", integer); // | 42|
printf("左对齐: |%-8d|\n", integer); // |42 |
printf("前导零: |%08d|\n", integer); // |00000042|
printf("浮点精度: %.2f\n", floating); // 3.14
return 0;
}
分享

如果这篇文章对你有帮助,欢迎分享给更多人!

c06
https://yoyolp.github.io/posts/c_asm/cformattable/
作者
超级玉米人
发布于
2025-11-13
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录