我想使用打印多个字符printf.我到目前为止的做法是 -
#include <stdio.h>
int main()
{
printf("%*c\n", 10, '#');
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但这只会在之前打印9个空格#.
我想像这样打印 -
##########
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚如何做到这一点.请帮我?
你不能用printf这样的方法在Ansi C中打印重复的字符.我建议你使用这样的循环 -
#include <stdio.h>
int main()
{
int i;
for(i = 0; i < 10; i++) putchar('#');
return 0;
}
Run Code Online (Sandbox Code Playgroud)
或者如果你绝对不想使用循环,你可以这样做 -
#include <stdio.h>
int main()
{
char out[100];
memset(out, '#', 10);
out[10] = 0;
printf("%s", out);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
顺便说一句,这样使用printf也有效 -
#include <stdio.h>
int main()
{
printf("%.*s", 10, "############################################");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如果您对要输出的字符数有上限,我认为最好的方法是:
printf("%.*s", number_of_asterisks_to_be_printed,
"**********************************************************************");
Run Code Online (Sandbox Code Playgroud)
我认为这也将是最有效、最便携的方式。
| 归档时间: |
|
| 查看次数: |
22300 次 |
| 最近记录: |