Answers:
如果要在宽度为40个字符的列中打印“ Hello”一词,并在左侧填充空格,请使用以下命令。
char *ptr = "Hello";
printf("%40s\n", ptr);
这将给您35个空格,然后是单词“ Hello”。当知道所需的列宽但数据会发生变化时,这就是格式化内容的方式(嗯,这是您可以做到的一种方法)。
如果您知道只需要40个空格,然后输入一些文本,只需将40个空格保存为常数并打印即可。如果需要打印多行,请使用printf
上面的语句,或者使用多个语句循环执行,以更改ptr
每次的值。
我使用此函数来缩进输出(例如,打印树结构)。该indent
是字符串前的空格数。
void print_with_indent(int indent, char * string)
{
printf("%*s%s", indent, "", string);
}
printf(..., indent, "", ...)
)
int space = 40;
printf("%*s", space, "Hello");
该语句将保留一行40个字符,并在该行的末尾打印字符串(删除多余的空格,使总行长恒定为40)。同样可以用于字符和整数,如下所示:
printf("%*d", space, 10);
printf("%*c", space, 'x');
在需要可变数量的空格的情况下,这种使用参数确定空格的方法很有用。这些语句仍然可以使用整数文字,如下所示:
printf("%*d", 10, 10);
printf("%*c", 20, 'x');
printf("%*s", 30, "Hello");
希望这对以后像我这样的人有帮助。
error: empty character constant
买了''
。不是' '
吗?
"Hello"
可能的任何事物,他都应该使用一个示例