C语言 无限循环(strstr)



由于strstr函数,我在此方法中有一个无限循环。是因为我将结构类型与字符类型匹配吗?

car* find(char* type){
car* stringCurr = list_head();
while(stringCurr != NULL){
if(strstr(stringCurr->info, type)){  //This line
return stringCurr;
}
}
return NULL;
}

结构:

typedef struct Machine{
char info[128];
struct Machine* next;
}car;

编辑:

目标是创建一个搜索函数,并在列表中找到对象时返回 NULL。

你错过了递增 stringCurr。您需要在 while 循环中执行类似于stringCurr = stringCurr->next的操作。

car* find(char* type){
car* stringCurr = list_head();
while(stringCurr != NULL){
if(strstr(stringCurr->info, type)){  //This line
return stringCurr;
}
stringCurr = stringCurr -> next;
}
return NULL;
}

相关内容

  • 没有找到相关文章

最新更新