关于printf中格式控制符

背景

今天,高中同学问了我关于C语言中输出指针存储的地址的问题,借这个机会复习了一下格式控制符,还了解到一些神奇的东西

格式控制符

完整格式

1.% - x m . n 格式字符
2.有-表示左对齐,无表示右对齐
3.x表示空位需要填的字符
4.m表示最小域宽
5.n表示精度,一般用于实型小数点保留位数,按照四舍五入原则

格式字符

整型

%d格式,表示整型
%hd格式,表示短整型
%ld格式,表示长整型
%lld/l64d格式,表示64位整型
%u格式,表示无符号整型,其他长度同d格式
%o格式,表示无符号八进制整型,对于负数直接将补码看成正数转换
%x格式,表示无符号十六进制整型,x小写对应的十六进制为小写,x大写对应大写

实型

%f格式,表示小数形式单精度实型
%lf格式,表示小数形式双精度实型
%e格式,表示指数形式单精度实型;le同理
%g格式,系统自动选定f或e格式,使输出的宽度最小,且不输出无意义的0
PS:G/E格式表示的指数形式中E大写

字符型

%c格式,表示单个字符
%s格式,表示字符串

其他

%p格式,表示指针
%i格式,据说是以前的整型格式字符
%%格式,输出%

转义字符

\a:蜂鸣,响铃
\b:回退:向后退一格
\f:换页
\n:换行,光标到下行行首
\r:回车,光标到本行行首
\t:水平制表
\v:垂直制表
\\:反斜杠
\':单引号
\":双引号
\ddd:三位八进制
\xhh:二位十六进制
\0:空字符(NULL)

posted @ 2018-01-20 15:11  HackHarry  阅读(3255)  评论(0编辑  收藏  举报