printf格式化输出

%c:字符
%i:整数(老)
%d:整数
%ld:长整型(long int)
%Ld:长整型(long long int)
%hd:短整形(short int)
%e:浮点数、e-记数法(指数形式)
%E:浮点数、E-记数法(指数形式)
%f:浮点数(%nf,n表示小数点后n位)
%g、%G:浮点数(自动选择合适的格式)
%o:八进制数
%s:字符串
%S :宽字符(=%ws)
%x:十六进制数
%X:大写十六进制
%p:指针
%u:无符号整数
%%:打印百分号
%zu:size_t
%a: 浮点数、十六进制、p-记数法
%A:大写浮点数、十六进制、P-记数法

格式化输出#

%#x 十六进制
%#b 二进制
%#o 8进制

宽字符

wchar_t w = 'A';
printf("wchar_t: %C\n", w);

# ./a.out
wchar_t: A

宽字节
http://blog.csdn.net/zhangxuechao_/article/details/71188953

二进制、八进制
http://blog.csdn.net/zhangxuechao_/article/details/70919914

p-记数法

float f = 3.1415926;
printf("p: %a\n", f);
printf("P: %a\n", f);

# ./a.out
p: 0x1.921fb4p+1
P: 0x1.921fb4p+1

%e、%f、%g

float f = 3.1415926;
printf("e: %e\n", f);
printf("f: %f\n", f);
printf("g: %g\n", f);

# ./a.out
e: 3.141593e+00
f: 3.141593
g: 3.14159

可变参数输出

printf("%*.*s\n", m, n, str);

m :总宽度
n:输出个数

char *str = "hello";
printf("%*.*s\n", 4, 2, str);

# ./a.out
  he
posted @   thomas_blog  阅读(163)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示