Я передал узел функции print для печати строки, но ничего не печатается.
делает
temp -> clothing[10] = ch[10];
вы пишете (и можете читать) один символ из строки, максимальный индекс в temp -> clothing
равен 9
вы хотите что-то вроде
strcpy(temp -> clothing, ch);
но будьте осторожны, чтобы не выйти за пределы поля одежда , потому что ch слишком длинный
так может быть
strncpy(temp -> clothing, ch, sizeof(temp -> clothing) - 1);
temp -> clothing[sizeof(temp -> clothing) - 1] = 0; /* useful if strlen(ch) >= 10 */
Вы уверены, что не хотите заменить char clothing[10];
на char * clothing;
, чтобы этот предел не был равен 10?