Разве он не должен возвращать 1, если str1 больше, чем str2 и -1, если str1 > меньше, чем str2.
Я получаю 13, -13 и 0.
Код: Выделить всё
#include
#include
#include
int main() {
char str1[] = "Megadeth";
char str2[] = "Metallica";
// Should return -1 because "Megadeth" < "Metallica" lexicographically
int result = strcmp(str1, str2);
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/78387918/what-causes-strcmp-to-return-a-value-other-than-0-1-or-1[/url]