在此代码中,符号%3d
的作用是什么?我知道%表示引用变量。
这是代码:
#include <stdio.h>
int main(void)
{
int t, i, num[3][4];
for(t=0; t<3; ++t)
for(i=0; i<4; ++i)
num[t][i] = (t*4)+i+1;
/* now print them out */
for(t=0; t<3; ++t) {
for(i=0; i<4; ++i)
printf("%3d ", num[t][i]);
printf("\n");
}
return 0;
}
答案 0 :(得分:17)
%3d
可以按如下方式细分:
%
表示“在此处打印变量”3
表示“使用至少3个空格来显示,根据需要填充”d
表示“变量将是一个整数”将这些放在一起,就意味着“打印整数,至少占用3个空格”
有关详细信息,请参阅http://www.cplusplus.com/reference/clibrary/cstdio/printf/
答案 1 :(得分:11)
这是一个格式说明符,用于在三个(至少)数字(d
)中打印十进制数字(3
)。
来自man printf
:
可选的十进制数字字符串 指定最小字段宽度。如果 转换后的值较少 它的字符数比字段宽度大 将在左侧填充空格 (或右,如果左调整标志 已被给予填写该领域 宽度。
答案 2 :(得分:4)
看看这里:
Print("%3d",X);
1234
。123
。_12
,其中_
是一个领先的单个空白字符。__1
,其中__
是两个领先的whitespacce字符。答案 3 :(得分:0)
这是格式规范。 %3d表示:将参数打印为小数,宽度为3位。
答案 4 :(得分:0)
从字面上看,它意味着打印一个用空格填充到三位数的整数。 %引入格式说明符,3表示3位数,d表示整数。因此,num [t] [i]的值作为诸如“1”,“2”,“12”等的值被打印到屏幕上。
答案 5 :(得分:0)
2/3或任何整数是填充/宽度。这意味着ex为3,最小3空格如果我们打印a = 4然后它打印像4,这里两个空格留在4之前因为它是一个字符
答案 6 :(得分:0)
启示现有答案的一个例子:
printf("%3d" , x);
当:
x
是1234张1234
x
是123张123
x
是12张12
,带有额外的填充(空格)
x
是1打印1
,带有两个额外的填充(空格)
答案 7 :(得分:0)
您可以在%和d(十进制)之间指定字段宽度。它代表打印的字符总数。 如另一个答案中所述,正值使输出右对齐,并且是默认值。 负值使文本左对齐。 例如:
int a = 3;
printf("|%-3d|", a);
输出:
|3 |
您还可以使用*字符将字段宽度指定为附加参数:
int a = 3;
printf("|%*d|", 5, a);
给出:
| 3|