我想打印一些这样的数据:
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]);
}
有没有其他方法可以在不使用循环的情况下打印尾随空格?
答案 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]);