printf 宽度规范
在格式规范里,第二个可选字段是宽规范。 width 参数控制字符的最小数量输出的非负十进制整数。 如果输出的字符数值小于指定的宽度,添加空格到值的左侧或右侧依赖于是否左对齐标志 (-) 被指定,除非到达最小宽度位置。 如果 width 由 0 前缀,前导零被添加到整数或浮点数的转换,直至达到最小宽度,除了当转换到无穷大或NaN。
宽度规格永远不会导致一个值被截断。 如果输出的字符数值大于指定的宽度,或者如果未给定 width,输出所有字符的值,以及 精度 规范。
如果宽度规范是一个星号 (*),从参数列表的 int 参数支持的值。 width 参数必须先于的被格式化的参数列表中的值,如以下示例所示:
printf("%0*f", 5, 3); /* 00003 is output */
丢失或小的 width 值的格式规范并不导致输出值的截断。 如果转换的结果比 width 值字段宽,展开包含强制转换结果。