Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于C编程中的左填充?_C_Padding_Space - Fatal编程技术网

关于C编程中的左填充?

关于C编程中的左填充?,c,padding,space,C,Padding,Space,我已经在网站上搜索过了,但似乎找不到与我的问题相关的解决方案: 例如: printf("%s I love puppies", name); 这是我的prinf语句,但如何让pad在其中为每个for循环添加额外的空格呢 编辑: 我想做这样的事情: (在for循环中) 在C编程中是否有类似的函数(在java中) 编辑:问题是我有这个:printf(“%s我爱小狗”,名字) 我在考虑使用int space=I(根据循环计数器),然后使用printf(“%s”,空格,“%s我爱小狗”,名字)

我已经在网站上搜索过了,但似乎找不到与我的问题相关的解决方案:

例如:

    printf("%s I love puppies", name);
这是我的prinf语句,但如何让pad在其中为每个for循环添加额外的空格呢

编辑:

我想做这样的事情: (在for循环中)

在C编程中是否有类似的函数(在java中)

编辑:问题是我有这个:printf(“%s我爱小狗”,名字)


我在考虑使用int space=I(根据循环计数器),然后使用printf(“%s”,空格,“%s我爱小狗”,名字);在printf中,但它说我有太多参数…

您可以为
%s
格式转换提供一个长度(就像任何其他格式代码一样)。因此
%10s
将至少打印10个字符

默认情况下,字符串在左侧填充空格。(这也与其他格式代码相同。)您不能更改
printf
填充的字符,但可以使用
-
%-10s
将其填充到右侧

长度规格可以替换为
*
,这将导致
printf
在转换参数之前使用
int
参数,并将其值用作长度。(也可以使用精度值执行此操作。)

我想你要做的是一个变量缩进。将以上各项结合起来,您可以这样做:

for (int indent = 0; indent < 20; ++indent) {
  printf("%*s%s\n", indent, "", the_string);
}
for(int-indent=0;indent<20;++indent){
printf(“%*s%s\n”,缩进,”,_字符串);
}

您可以为
%s
格式转换提供长度(就像任何其他格式代码一样)。因此
%10s
将至少打印10个字符

默认情况下,字符串在左侧填充空格。(这也与其他格式代码相同。)您不能更改
printf
填充的字符,但可以使用
-
%-10s
将其填充到右侧

长度规格可以替换为
*
,这将导致
printf
在转换参数之前使用
int
参数,并将其值用作长度。(也可以使用精度值执行此操作。)

我想你要做的是一个变量缩进。将以上各项结合起来,您可以这样做:

for (int indent = 0; indent < 20; ++indent) {
  printf("%*s%s\n", indent, "", the_string);
}
for(int-indent=0;indent<20;++indent){
printf(“%*s%s\n”,缩进,”,_字符串);
}
可能执行printf(“”);在使用现有循环计数作为限制因素的循环中,例如:

for( i=0; i<namelimit; i++ )
{ 
    for(j=0; j<i; j++ ) 
    {
        printf(" ");
    } 
    printf("%s\n",name); 
}
for(i=0;i可能在使用现有循环计数作为限制因素的循环中执行printf(“”);例如:

for( i=0; i<namelimit; i++ )
{ 
    for(j=0; j<i; j++ ) 
    {
        printf(" ");
    } 
    printf("%s\n",name); 
}

for(i=0;我能更新问题以反映您希望“空格”的位置吗?在任何情况下,您的问题的解决方案似乎是执行printf(“s%s”,空格,名称)之类的操作如果您希望每次循环的间隔更大,请在for循环的每次迭代中更改间隔。谷歌上的RTFM-5分钟将回答此问题。重复的等待抱歉。我必须更改第一个printf语句如果在%s printf语句之后有什么内容呢?我是否需要先有一个等于新字符串的字符串变量?请发布您希望获得的输出。可能在使用现有循环计数作为限制因素的循环中执行printf(“”);例如:for(i=0;我能更新问题以反映您希望“空间”的位置吗?在任何情况下,解决问题的方法似乎是执行printf(“%s%s”、间距、名称)之类的操作如果您希望每次循环的间隔更大,请在for循环的每次迭代中更改间隔。谷歌上的RTFM-5分钟将回答此问题。重复的等待抱歉。我必须更改第一个printf语句如果在%s printf语句之后有什么内容呢?我是否需要先有一个等于新字符串的字符串变量?请发布您希望获得的输出。可能在使用现有循环计数作为限制因素的循环中执行printf(“”);例如:for(i=0;谢谢您。我非常感谢it@Thankyouforyourhelp单击答案旁边的复选标记,表示您接受该答案为您问题的最佳答案。这就是您说“谢谢”的方式这里。你只能选择1个,所以选择一个你认为最适合你的。:-)谢谢。我真的很感激it@Thankyouforyourhelp单击答案旁边的复选标记,表示您接受该答案为您问题的最佳答案。这就是您说“谢谢”的方式这里。你只能选择1,所以选择一个你认为最适合你的。:-)谢谢你写这个^^谢谢你写这个^^