除了 `%d`,还有哪些常用的格式控制符号?如 `%f`、`%s` 等分别代表什么?
在C语言中,标准库中的printf()
和sprintf()
函数使用格式控制符来指定输出或字符串格式化的方式。除了 %d
,还有许多其他类型的格式符,这里列举一些常见的:
%c
: 用于整数值表示单个字符。例如,printf("%c", 'A')
输出字符 'A'。%s
: 用于字符串。你需要提供一个指向内存中的字符数组的指针,它将打印整个字符串直到遇到空字符('\0')。例如,printf("%s", "Hello, World!");
%f
或%.nf
: 用于浮点数(通常是double类型)。%f
默认显示6位小数,%.nf
允许指定小数位数,比如printf("%.2f", 3.14159)
会输出3.14
.%e
或%E
: 类似于%f
,但科学计数法,%e
用小写'e'表示,%E
用大写'E'表示。%g
或%G
: 根据数值大小自动选择%f
或%e
的形式。%p
: 打印地址,以十六进制表示。%o
: 十进制转八进制。%x
或%X
: 十进制转十六进制,%x
用小写字母,%X
用大写字母。%u
: 十进制整数,无符号。%lu
,%llu
,%ull
: 分别对应不同大小的无符号长整型。%lld
或%llu
: 对应long long和unsigned long long。%ld
或%lu
: 对应long和unsigned long。%t
(Unix扩展): 时间,类似于strftime()
函数的格式。
这些只是常见的一些例子,还有很多其他格式控制符,具体取决于你的需求。例如日期时间格式 (%Y-%m-%d %H:%M:%S
) 和宽度填充符(*
,#
等)也是常用的一部分。如果你有特定的格式需求,请告诉我,我可以更详细地解释如何应用它们。
相关推荐



















