如何在C中打印尾随空格

Isc*_*sco 4 c printf

我想打印一些这样的数据:

John       22
Shakib     25
Ponting    28
Run Code Online (Sandbox Code Playgroud)

在这里,我需要在名称后打印一些尾随空格.

我这样做了:

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]);
}
Run Code Online (Sandbox Code Playgroud)

有没有其他方法可以在不使用循环的情况下打印尾随空格?

Moh*_*ber 13

要打印,trailing spaces您可以使用其中之一

for(int i = 0; i < n; i++)
  printf("%-10s%d\n", name[i], age[i]);
Run Code Online (Sandbox Code Playgroud)

要么

int cnt = 10;
for(int i = 0; i < n; i++)
  printf("%-*s%d\n", cnt, name[i], age[i]);
Run Code Online (Sandbox Code Playgroud)