Первоначально у меня была проблема с моими аргументами, но это было исправлено. Однако теперь я получаю ошибку сбоя seg и не знаю, как это исправить.Создание функции hashcode с использованием рекурсии
вот мой код
int hash_code(const char* str){
int len = strlen(str);
char dst[len-1];
if(len == 0)
return 0;
else{
strncpy(dst, str, (len - 1));
return (hash_code(dst) * 27) + str[len-1];
}
}
В коде есть много вещей, которые в корне неверны, но самая большая проблема здесь заключается в том, что «умножение этого кода на 65599» не делает то, что вы думаете. – Will
Использование 'strncpy()' почти всегда неверно. также: это 'strncpy (dst, src, len)', поэтому у вас появляется первый и второй аргументы. И нигде нет. – wildplasser
@wildplasser не могли бы вы подробнее рассказать о том, почему strncpy() почти всегда ошибается? – Mark