我想在名称前后打印用户输入的名称和一些星星(也输入)

I want to print a name inputted by the user and some stars(inputted too) EXACTLY before and after the name

我想在名字前后打印星星,例如 ****Johannah****

不使用 "for" 循环,使用全部和完整的逻辑。

要打印的星星数需要用户输入,然后星星在代码中名字前后作为输出。

例如:“输入姓名:Johannah。
输入姓名前后要打印的星星数:5.
姓名:*****Johannah*****

请帮忙。谢谢

你可以先做一个 char 数组,包含将被要求打印的最大星星数。

 char stars[] = "***************************************";

然后要求用户输入他们想要打印的星数。

 int a;
 printf("Enter Number of Stars You Want To Print : ");
 scanf("%d" , &a);

然后您使用

打印它
 printf("%.*s\n" , a , stars);

基本上发生的事情是您使用 %.*s 设置可变宽度,这里 * 使用 a ,例如如果 a = 5 结果成为 %.5s 然后它打印字符串的第 5 个字符。

这里的问题是你应该知道你将被要求打印的最大星星数,以便你可以根据需要初始化字符数组。

请查看这些问题以了解更多信息 How to print only certain parts of a string? and Set variable text column width in printf

如果有人对答案投反对票,请在评论部分告诉我您这样做的原因,以便我改进。