【c】printf()中%占位符的选取和使用: %d, %s等

随笔3个月前发布
40 0 0

格式占位符速通

格式占位符 %

格式占位符 % 是在 C/C++ 语言中格式输入函数,如 scanf、printf 等函数中使用。
其意义就是起到格式占位的意思,表示在该位置有输入或者输出。

规定符

%d 十进制有符号整数
%u 十进制无符号整数
%f 浮点数
%s 字符串
%c 单个字符
%p 指针的值
%e 指数形式的浮点数
%x, %X 无符号以十六进制表示的整数
%o 无符号以八进制表示的整数
%g 把输出的值按照 %e 或者 %f 类型中输出长度较小的方式输出
%p 输出地址符
%lu 32位无符号整数
%llu 64位无符号整数
%% 输出百分号字符本身。

除了格式化说明符之外的一些选项控制

除了格式化说明符之外,printf() 函数还支持一些标志和选项,用于控制输出的精度、宽度、填充字符和对齐方式等。例如:

%-10s:左对齐并占用宽度为 10 的字符串;
%5.2f:右对齐并占用宽度为 5,保留两位小数的浮点数;
%#x:输出带有 0x 前缀的十六进制数。

printf()函数

printf()格式

printf() 函数的声明:

int printf(const char *format, ...)

printf() 函数的调用格式为:

printf("<格式化字符串>", <参量表>);

format 标签属性是 %[flags][width][.precision][length]specifier

完整格式:< % + 格式 + 宽度 + . + 精度 + 长度类型 + 字母>

注意:宽度是总的占位长度,含精度指定的小数位。
宽度不够补空格。小数位不够,补0

最常见格式:% + specifier

中间省略用默认格式

flags:特殊显示格式

左对齐(-), 显示正数+(+), 左边补空格或0, 显示不同进制符号或小数点(#)

width:指定宽度,常用数字

width的数字:表示要输出的字符的最小数目。
如果输出的值短于该数,结果会用空格填充。
如果输出的值长于该数,结果不会被截断。
注意:如有小数点,小数点占一个位数
*:不太常用

小数点,及之后的参数

小数点通常和precision放在一起:.precision

.precision:指定精度,常用数字

未指定时,默认为 1。如指定时不带有一个显式值,则假定为 0。
整数(d、i、o、u、x、X):precision 指定了要写入的数字的最小位数。
e、E 和 f 说明符:要在小数点后输出的小数位数。
g 和 G 说明符:要输出的最大有效位数。
s: 要输出的最大字符数。默认情况下,所有字符都会被输出,直到遇到末尾的空字符。
c 类型:没有任何影响。

length:指定长度类型

常用:h,l,L

示例

%m.nf: 指以小数形式输出(输入)浮点型数据,宽度为m,且保留小数点后n位

format属性值详解

【c】printf()中%占位符的选取和使用: %d, %s等
【c】printf()中%占位符的选取和使用: %d, %s等
【c】printf()中%占位符的选取和使用: %d, %s等
【c】printf()中%占位符的选取和使用: %d, %s等
【c】printf()中%占位符的选取和使用: %d, %s等

参考链接

菜鸟教程:C 库函数 – printf()

END

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...