指针对接好像没对接成功

虽然航线加上了但是内容是乱码,输出全部航线信息的时候新输入的是乱码

int enter()//增加航班
{
   //struct airline *Airline;
   LINEINFO *q;//新航班结点指针的形参
   lineinfo *p=start;
   int m=1,t=1,i;
   while(m!=0)
   {
       q=(LINEINFO *)malloc(sizeof(LINEINFO));
       if(q==NULL)
        return 0;
       printf("请输入航班号:");
       scanf("%s",q->air_Numer);
       int s;
       s=check(start,q->air_Numer);
       if(s==0)
       {
           printf("该航班号已存在!");
           continue;
       }
       printf("请输入飞行日期:");
       scanf("%s",q->day);
       printf("请输入终点站名:");
       scanf("%s",q->terminal_name);
       printf("请输入飞机号:");
       scanf("%s",q->plane_Numer);
       printf("请输入机票价格:");
       scanf("%d",&q->ticket_price);
       printf("请输入总位置:");
       scanf("%d",&q->Sum_Ticket_Numer);
       printf("请输入余票量:");
       scanf("%d",&q->ticket_sur);

       InitQueue(q->waitQueue);//初始化该航线的候补队列信息

       q->next=p->next;
       p->next=q;
       printf("是否继续录入航线信息(输入除0外任意数字继续):");
       scanf("%d",&m);
       if(m!=0)
        t++;
   }
   printf("终点站名\t航班号\t飞机号\t\t飞行日期\t\t\t航班票价\t总位置\t余票量");
   for(i=0;idisplay(p);
       p++;
   }
   return t;
}

img

如果没有先增加航线就直接输出全部航线的话会乱码,设置了一个t值来记录增加的航线数,但是t要是定义为0就会导致t在1里始终为0就实现不了增加航线,所以t一上来是个随机数,要先去增加航线给t确定值才能正常输出t,有没有什么办法不用输入新增航线也可以正常输出原有航线

void list(int t)//打印全部航线信息
{
    lineinfo *info;
    info=start;//指针对接赋值
    int i;
    printf("终点站名\t航班号\t飞机号\t\t飞行日期\t\t\t航班票价\t总位置\t余票量");
    for(i=0; i<t+MAXSIZE; i++) //循环自增调用输出
        display(info++);
    printf("\n\n");
}