如何在 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]);