Я не вижу проблем в данном фрагменте кода.
Подумайте о следующем:
Вы перепутали MAX_LINES
и MAX_LEN
?
Действительно ли inp
равно "struct"?
Вы загрузили в словарь хотя бы одно слово с подстрокой "struct"?
Показать код, где вы Выполните вызов этой функции, если проблема не устранена.
Например, это работает нормально:
int main()
{
char dictionary[MAX_LINES][MAX_LEN] = {"hello", "hihello", "bye", "Hello"};
int output = count_matches("hello", dictionary, 4);
printf("%d", output); // Output is 2 as expected
return 0;
}
Кстати, вы также можете внести следующие изменения в код:
MAX_WORDS
более читабельно, чем MAX_LINES
Вы делаете не обязательно писать != NULL
внутри этого условия