我想'*'在我给出否决的地方重复打印一个字符。星号应该重复的次数。
示例: count = 20并且我想********************使用printf()和格式说明符进行打印。
我想'*'在我给出否决的地方重复打印一个字符。星号应该重复的次数。
示例: count = 20并且我想********************使用printf()和格式说明符进行打印。
当然,仅使用格式说明符是无法实现的。您可以将循环隐藏在宏中,但您肯定需要某个地方的循环。
您不能使用printf(). 但是,如果您愿意浪费一些空间在程序中存储填充字符串,则有一个 hacky 解决方案(假设最大填充长度是合理的)。
#include <stdio.h>
int main(void) {
const char *fill = "********************"; // 20 chars
printf("%.*s\n", 10, fill);
printf("%.*s\n", 15, fill);
int n = 20;
printf("%.*s\n", n, fill);
return 0;
}
这.*用于提供要打印的字符串的最大长度作为第一个参数。
输出:
**********
***************
********************
注意:你最多只能得到strlen(fill)填充字符(在上面的例子中是 20 个),还有更多,并且printf会停\0在fill.
我希望这是您正在寻找的:
#include <stdio.h>
int main()
{
printf("%.*s", 20, "********************************");;
return 0;
}