占位符
%d
:打印有符号十进制整数 (int
)。%u
:打印无符号十进制整数 (unsigned int
)。%ld
:打印有符号长整型 (long
)。比如 time_t 类型的值。%lu
:打印无符号长整型 (unsigned long
)。%lld
:打印有符号长长整型 (long long
)。%llu
:打印无符号长长整型 (unsigned long long
)。%f
:打印浮点数(默认小数点后六位)。%lf
:打印双精度浮点数。%e
: 或%E
:用科学计数法打印浮点数。%g
: 自动选择使用 %f 或 %e(或 %E)的格式输出浮点数。根据数值的大小来选择哪种格式更合适。对于小数位数较少且较大数值,使用 %f;对于较大或较小的数值,使用 %e。%c
:打印字符。%s
:打印字符串。%p
:打印指针地址。%x
或%X
:打印十六进制整数(小写或大写)。%o
:打印八进制整数。%z
:表示参数是 size_t 类型的长度修饰符。%zu:
通常用来打印 size_t 类型的值。
#include <stdio.h>
int main() {
time_t timestamp = time(NULL);
printf("当前时间戳:%ld\n", timestamp); // 使用 %ld 打印 time_t 类型的值 可以是负数
size_t size = sizeof(int);
printf("Size of int: %zu bytes\n", size); // 使用 %zu 打印 size_t 类型的值
/* %f 用法*/
float price = 123.456789;
printf("%f\n", price); // 输出浮点数,默认保留小数点后六位
printf("%.2f\n", price); // 输出浮点数,保留两位小数
printf("%.f\n", price); // 输出浮点数,不带小数部分
/* %g 自动选择浮点数*/
printf("%g\n", 123.4); // 输出123.4
printf("%g\n", 123.45); // 输出123.45
printf("%g\n", 123.456); // 输出123.456
printf("%g\n", 123.4565); // 保留3位小数 四舍五入 输出123.457
}