c语言 %-6d里的-是什么意思。

作者&投稿:平肿 (若有异议请与网页底部的电邮联系)
c语言printf中 "%-6d"是什么意思?~

%-6d是c语言中printf的输出格式转换说明,%d表示输出的数为整形,数字6表示该数在输出时宽度至少为6位,宽度不够6位的用空格补齐,-表示输出的数左端对齐。
其他转换说明符
%a(%A) 浮点数十六进制数字[p-(P-)记数法(C99)
%c 字符
%d 有符号十进制整数
%f 浮点数(包括float和doulbe)
%e(%E) 浮点数指数输出[e-(E-)记数法]
%g(%G) 浮点数不显无意义的零"0"
%i 有符号十进制整数(与%d相同)
%u 无符号十进制整数
%o 八进制整数 e.g. 0123
%x(%X) 十六进制整数0f(0F) e.g. 0x1234
%p 指针
%s 字符串
%% 转义%

%6d就是指导printf输出整形时至少用6位输出,不足的,左侧空格补充。至于##就是输出两个#字符。
有程序运行图为例:

指定对齐方式
在%后面加符号"-",数据显示时左对齐,没有符号 “-”,数据显示时右对齐。

%:格式字符
-:左对齐
6:6个有效数字
d:十进制整数

输出6位