Потому что stricmp - это какой-то неведомый зверь.
Есть стандартная strcmp - она не игнорит регистр и ищет конец строки по '\0', что очень часто приводит к SIGSEGV :)
Есть strncmp - она тоже не игнорит регистр, но сравнивает не более N символов, что считается более безопасным, если ты забыл '\0' поставить.
Есть strcasecmp и strncasecmp - полные аналоги, только регистр игнорят.