如何在C中打印尾随空格

时间:2015-01-30 17:16:30

标签: c printf

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

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]);
}

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

1 个答案:

答案 0 :(得分:12)

要打印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]);