我的C代码如下,
int main (void)
{
int n = 5;
printf ("%4d\n",n);
return 0;
}
它给出了输出5前导四个空格。
但是如果我想打印" (5)
"那么代码是什么?有四个前导空格(但是" (21)
"有三个前导空格,或者" (987)
"有两个前导空格等?)
与此同时,我尝试了printf ("%4(d)\n",n);
和printf ("(%4d)\n",n);
,但这两个人分别给了(d)
和( 5)
。
答案 0 :(得分:7)
您需要分两步完成。首先创建一个字符串,其中包含括号括起来但没有填充的数字:
char numstr[32];
sprintf(numstr, "(%d)", n);
然后使用%s
格式在带填充的字段中打印它。
printf("%4s\n", numstr);
答案 1 :(得分:2)
回答您的问题。
您已打印输出int值,“4”告诉beans.xml
将输出格式化为4个字符的长度。
更详细的信息。
char n $:n是使用此格式显示的参数编号 说明符,允许提供的参数输出多次 次,使用不同的格式说明符或不同的顺序。如果有的话 单占位符指定一个参数,所有其余的 占位符还必须指定一个参数。
例如:
printf
答案 2 :(得分:0)
使用%4d时,将printf的输出格式定义为4个字符的长度。