循环后两次为什么多两个退格
#include
int main()
{
struct student{
int num;
char *name;
char sex;
int age;
}stu[5]={{1001,"lihua",'F',18},{1002,"liuxing",'M',19},{1003,"huangke",'F',19},{1004,"fengshou",'F',19},{1005,"Wangming",'M',18}};
struct student *p=stu;
int i;
printf("Num\tName\t\t\tSex\tAge\t\n");
for(p=stu;p5;p++)
printf("%d\t%s\t\t\t%c\t%d\n",p->num,p->name,p->sex,p->age);
}
后面2个名字太长,自动多了个\t,\t有时候不好使
可以指定输出宽度
printf("%-8s%-15s%8s%8s\n", "Num", "Name", "Sex", "Age");
for (p = stu; p < stu + 5; p++)
printf("%-8d%-15s%8c%8d\n", p->num, p->name, p->sex, p->age);