У меня есть реализация LinkedList, которая содержит структуры, содержащие слова и несколько других частей информации. В LinkedList у меня есть функция, которая проверяет, есть ли слово , уже содержащееся в одной из структур в списке. Проблема в том, что это возвращает 0 каждый раз. Любая идея, почему это так?strcmp всегда производит тот же результат
Это компилируется полностью, и каждый отдельный аспект этой функции работает помимо оператора if(strcmp(ll->value->word, word))
.
EDIT: Извините, забыли добавить!
int llContains(LinkedList* ll, char* word){
LinkedList* nn= ll;
if(nn != NULL){
for(int i=0; nn != NULL; i++){
if(!strcmp(ll->value->word, word)){
return i;
}
nn = nn->next;
}
} else {
return -1;
}
}
Вы понимаете, что 'strcmp' возвращает 0 для соответствия строк? – Nick
Извините, все забыли положить в '!'. Проблема была 'else'. Спасибо за помощь! –