Здесь проблема:
word = h_word;
Вы пытаетесь скопировать h_word
в word
, но это неправильный способ сделать это. Это просто переназначает указатель. Вместо этого сделайте следующее:
strcpy(word, h_word);
Кроме того, if (!i == strlen(h_word))
проблематично, потому что h_word
неинициализирован, так что это неопределенное поведение. Вместо этого удалите этот оператор if
и поместите h_word[i] = '\0';
после цикла for
.
Но почему в любом случае h_word
? Вы можете просто полностью удалить его и поместить word
туда, где вместо него стоит h_word
. Цикл может быть for (i = 0; i < num_letters; i++) {
.