为什么输入x后,不执行后面的输出和search函数。求解谢谢懂哥
search的代码贴出看看。
/*
**函数名:Search
**功能:根据电影名称查找对应影片信息
**输入参数:电影票链表头指针FilmNodeHead
**返回值:无
*/
void Search(struct FilmNode *FilmNodeHead)
{
struct FilmNode *FilmNodeSea;
char fName[10];
FilmNodeSea = FilmNodeHead->Next; //Sea指针就是头指针Next指向的结点的地址
if(FilmNodeSea == NULL) //空链表就退出
{
printf("No films record!\n");
return;
}
printf("Input the film name:"); //链表非空
gets(fName); //接收电影名称
Print_FilmHead(); //打印栏目
while(FilmNodeSea != NULL) //Sea指向的结点存在时候
{
if(strcmp(FilmNodeSea->fData.fName,fName) == 0) //找到了对应的影片
{
Print_FilmData(FilmNodeSea); //输出影片相关信息
break;
}
else
FilmNodeSea = FilmNodeSea->Next; //该结点没有符合要求的电影名称,Sea指针指向下一个结点
}
if(FilmNodeSea == NULL) //整个链表都找完啦
printf("Sorry,can't find record!\n");
}
该函数主要在遍历Film链表中,对比各个结点中的FilmNodeSea->fData.fName电影名和要查找的电影名字fName是否匹配,找到就输出电影成员信息。