【发布时间】:2018-07-28 00:08:39
【问题描述】:
这是我的代码:
#include <stdio.h>
int main(void)
{
printf("%220s\n", "Hello, beautiful world!");
printf("%232s\n", "Hello, beautiful world!");
printf("%333s\n", "Hello, beautiful world!");
printf("%444s\n", "Hello, beautiful world!");
printf("%555s\n", "Hello, beautiful world!");
return 0;
}
这需要大量打字,并且可能充满错误。
我正在考虑使用一个变量来控制字符串可以占用多少空间。
以下代码
#include <stdio.h>
int main(void)
{
int a[5] = {220, 232, 333, 444, 555};
for (int i = 0; i < 5; i++)
printf("%%ds\n", a[i], "Hello, beautiful world!");
return 0;
}
似乎没有达到我的预期。
我哪里做错了?
C语言有什么方法可以通过变量来控制字符的长度吗?
【问题讨论】:
-
printf(“%*s\n”, a[i], “…”); -
乔纳森·莱弗勒,谢谢。有用。那个方法叫什么?
-
不确定;如果有名字,它可能在手册中。我在没有手册的飞机上。
-
C 标准没有给它命名。它在 C 2011 7.21.6.1 5 中有所描述。