Я создаю связанный список, который создает/отслеживает базу данных фильмов. В моей функции поиска у меня есть оператор if, который проверяет, совпадает ли указатель на заголовок фильма с введенным значением в функции поиска. Однако оператор if не работает, даже если значения равны друг другу. Я не хотел включать весь мой код, поэтому я включил оба поля ввода для оператора if и цикл, в котором находится оператор if. Я подтвердил, что значения movieTitle
и ptr->title
лексически одинаковы.Итерация по связанному списку, если оператор не работает
ptr-> название вход
printf("Name of the Movie: ");
scanf(" %[^\n]%*c", m.title);
strcpy(ptr->title, m.title);
MovieTitle вход
printf("Name of the Movie: ");
scanf(" %[^\n]%*c", movieTitle);
Если заявление
while (ptr != NULL)
{
if (movieTitle == ptr->title)
{
printf("Year: %d\n", ptr->year);
printf("Rating: %hhu\n", ptr->rating);
found = true;
break;
}
else
{
tmp = ptr;
ptr = ptr->next;
}
}
Что значит "не проверяет"? Я не могу сделать головы или хвосты того, что должно означать в этом контексте. –
@AlexD Я пробовал 'stricmp', однако нет чувствительности к регистру. –
@ cpmgrat Вы хотите, чтобы случай сенсибилита сравнения или нет? есть функции для обоих. –