如何在 C 中打印尾随空格
How to print trailing spaces in C
我想像这样打印一些数据:
John 22
Shakib 25
Ponting 28
这里我需要在名字后面打印一些尾随空格。
我是这样操作的:
char *name[]={"John", "Shakib", "Ponting"};
int age[]={22, 25, 28};
int n=3;
for(int i=0; i<n; i++)
{
printf("%s",name[i]);
int cnt=10; // I need trailing spaces upto 10th column
int len=strlen(name[i]);
cnt-=len;
while(cnt)
{
printf(" ");
cnt--;
}
printf("%d\n",age[i]);
}
有没有其他不使用循环打印尾随空格的方法?
要打印 trailing spaces
,您可以使用
for(int i = 0; i < n; i++)
printf("%-10s%d\n", name[i], age[i]);
或
int cnt = 10;
for(int i = 0; i < n; i++)
printf("%-*s%d\n", cnt, name[i], age[i]);
我想像这样打印一些数据:
John 22
Shakib 25
Ponting 28
这里我需要在名字后面打印一些尾随空格。
我是这样操作的:
char *name[]={"John", "Shakib", "Ponting"};
int age[]={22, 25, 28};
int n=3;
for(int i=0; i<n; i++)
{
printf("%s",name[i]);
int cnt=10; // I need trailing spaces upto 10th column
int len=strlen(name[i]);
cnt-=len;
while(cnt)
{
printf(" ");
cnt--;
}
printf("%d\n",age[i]);
}
有没有其他不使用循环打印尾随空格的方法?
要打印 trailing spaces
,您可以使用
for(int i = 0; i < n; i++)
printf("%-10s%d\n", name[i], age[i]);
或
int cnt = 10;
for(int i = 0; i < n; i++)
printf("%-*s%d\n", cnt, name[i], age[i]);