如何在C中向字符串添加范围(0,4)中的空格
我正在寻找一种在C中创建此输出的方法:如何在C中向字符串添加范围(0,4)中的空格,c,printf,whitespace,C,Printf,Whitespace,我正在寻找一种在C中创建此输出的方法: 你好,世界! 你好,世界! 你好,世界! 你好,世界! 而每次打印“Hello World!”时,字符串中都会添加另一个“”。打印字符串不是问题,但我不确定如何使用空格。下面是我当前的代码 实现“”的一个想法是添加“”次i。理论上,这应该在字符串的开头添加正确数量的空格 #include <stdio.h> int main() { for(int i=0;i<4;i++){ printf("
你好,世界!
你好,世界!
你好,世界!
你好,世界!
而每次打印“Hello World!”时,字符串中都会添加另一个“”。打印字符串不是问题,但我不确定如何使用空格。下面是我当前的代码
实现“”的一个想法是添加“”次i
。理论上,这应该在字符串的开头添加正确数量的空格
#include <stdio.h>
int main()
{
for(int i=0;i<4;i++){
printf("\nHello World!");
}
//idea: spaces = " " * i
return 0;
}
#包括
int main()
{
对于(int i=0;i您可以使用嵌套循环打印所需数量的空白。
此外,将换行符的输出移到末尾是一种广泛应用的习惯,在这种情况下,会使事情变得更容易
#include <stdio.h>
int main()
{
for(int i=0;i<4;i++)
{
for (int j=0; j<i; j++)
{
printf(" ");
}
printf("Hello World!\n");
}
return 0;
}
#包括
int main()
{
对于(int i=0;i您可以使用嵌套循环打印所需数量的空白。
此外,将换行符的输出移到末尾是一种广泛应用的习惯,在这种情况下,会使事情变得更容易
#include <stdio.h>
int main()
{
for(int i=0;i<4;i++)
{
for (int j=0; j<i; j++)
{
printf(" ");
}
printf("Hello World!\n");
}
return 0;
}
#包括
int main()
{
对于(int i=0;i您可以在格式字符串中指定一个具有动态字段宽度的字符串,以缩进每行输出的开头:
for(int i=0;i<4;i++){
printf("%*sHello World!\n", i, "");
}
可以通过乘法增加缩进:
int indent=2;
for(int i=0;i<4;i++){
printf("%*sHello World!\n", i * indent, "");
}
您可以在格式字符串中指定具有动态字段宽度的字符串,以缩进每行输出的开头:
for(int i=0;i<4;i++){
printf("%*sHello World!\n", i, "");
}
可以通过乘法增加缩进:
int indent=2;
for(int i=0;i<4;i++){
printf("%*sHello World!\n", i * indent, "");
}
从我的角度来看,Hello World!
中的字符在每次迭代中需要从右侧额外偏移3个字符。因此,如果您从定义的3
移位开始,然后循环0-4
,您可以在printf
字符串前面使用可变字段宽度修饰符来生成offset,例如
#include <stdio.h>
#define SHIFT 3 /* if you need a constant, #define one (or more) */
#define NLINES 4
int main (void) {
for (int i = 0; i < NLINES; i++) /* loop for NLINES iterations */
printf ("%*sHello World!\n", i * SHIFT, ""); /* increase by multiples of shift */
}
上面的内容似乎捕捉到了想要的格式。请仔细查看,如果您还有其他问题,请告诉我。从我的角度来看,Hello World!
中的字符需要在每次迭代中从右侧额外偏移3个字符。因此,如果您从定义的3
移位开始,然后循环0-4
,您可以在printf
字符串前面使用可变字段宽度修饰符来生成偏移量,例如
#include <stdio.h>
#define SHIFT 3 /* if you need a constant, #define one (or more) */
#define NLINES 4
int main (void) {
for (int i = 0; i < NLINES; i++) /* loop for NLINES iterations */
printf ("%*sHello World!\n", i * SHIFT, ""); /* increase by multiples of shift */
}
上面的内容似乎捕捉到了想要的格式。请仔细查看,如果您还有其他问题,请告诉我。非常感谢!祝您新年快乐!:-)我的荣幸,也祝您新年快乐。非常感谢!祝您新年快乐!:-)我也很高兴和你一样。你在这里当会员有一段时间了,我可以推荐你去参加非常开明的活动吗?你在这里当会员有一段时间了,我可以推荐你去参加非常开明的活动吗?咯咯地笑着,罪名成立。2021年我们解决了疯狂的奇多问题后,它就开始出现了。。。。(如果我们避免破产,假设法院在2021年的6个月内不会关闭:)
现在讨厌的魔法数字消失了…咯咯地笑,罪名成立。一旦我们解决了疯狂的奇多问题,2021年就开始查起了……(如果我们避免破产,假设法院在2021年的6个月内不会关闭:)
现在讨厌的魔法数字不见了。。。