在这段代码中,符号
%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;
}
%3d
可以细分如下:
%
表示“在此处打印变量”;3
表示“至少使用3个空格来显示,根据需要填充”;d
表示“变量将是整数”;将它们放在一起,意思是:“打印一个整数,至少占用 3 个空格”。
请参阅 cplusplus — printf 了解更多信息。
这是一个格式说明符,用于以三(至少)位数字 (
d
) 打印十进制数 (3
)。
来自
man printf
:
可选的十进制数字字符串 指定最小字段宽度。如果 转换后的值较少 字符数大于字段宽度,则 将在左侧填充空格 (或右,如果左调整标志 已给出)填写该字段 宽度。
看这里:
Print("%3d",X);
1234
。123
。_12
,其中 _
是前导单个空白字符。__1
,其中 __
是两个前导空格字符。启发现有答案的示例:
printf("%3d" , x);
时间:
x
已打印 1234 次 1234
x
已打印 123 次 123
x
是 12 个打印 12
,带有额外的填充(空格)
x
是 1 个打印 1
,带有两个额外的填充(空格)
您可以指定 % 和 d(十进制)之间的字段宽度。它表示打印的字符总数。 正如另一个答案中提到的,正值会使输出右对齐,并且是默认值。 负值使文本左对齐。 示例:
int a = 3;
printf("|%-3d|", a);
输出:
|3 |
您还可以使用 * 字符将字段宽度指定为附加参数:
int a = 3;
printf("|%*d|", 5, a);
给出:
| 3|
它是一个格式规范。 %3d 表示:将参数打印为小数,宽度为 3 位。
从字面上看,它的意思是打印一个整数,用空格填充到三位数字。 % 引入格式说明符,3 表示 3 位数字,d 表示整数。因此,num[t][i] 的值会作为“1”、“2”、“12”等值打印到屏幕上。
2/3 或任何整数是填充/宽度。它意味着 3 的 ex,如果我们打印 a=4 则最小 3 个空格,那么它会像 4 一样打印,这里 4 之前留下两个空格,因为它是一个字符