【发布时间】:2014-04-04 11:00:20
【问题描述】:
struct flight_list{
char fcode[4];
string20 srccity;
string20 descity;
int deptime;
int duration;
};
void add_flight(string20 city[], struct flight_list flight_arr[]){
int i,j;
int check;
char flight[MAX];
string20 src;
string20 choice;
system("cls");
do{
while(strcmp(flight_arr[i].fcode,"")!=0)
i++;
do{
check = 0;
printf("flight code: ");
scanf("%s",flight);
flight[4] = '\0';
strcpy(flight_arr[i].fcode,flight);
for(j=0;j<i;j++){
if(strcmp(flight_arr[j].fcode,flight_arr[i].fcode)==0){
printf("not unique\n");
getch();
system("cls");
check = 1;
}
}
}while(check == 1);
printf("source city: ");
scanf("%s",src);
strcpy(flight_arr[i].srccity,src);
printf("%s",flight_arr[i].fcode);
}while(strcmp(flight,"no")!=0);
}
flight_arr[].fcode 与 srccity 连接我不知道为什么结构数组的所有值在转到此函数之前都已初始化,并且在此函数中没有其他函数用于连接任何字符串请帮助!
【问题讨论】:
-
什么是
string20?MAX是什么? -
顺便说一句,您的代码中有undefined behavior:请记住,局部变量未初始化,未初始化使用它们会导致未定义的行为。你永远不会初始化索引变量
i。 -
感谢@JoachimPileborg 解决了我的问题,非常感谢!
标签: c arrays string struct linked-list