У вас есть:
во вставке:
char first[strsize];
scanf("%c", &first); /* note the %c */
strcpy(cur->fname, first);
при печати
printf("%s \n", cur->fname);
Вы должны иметь %s
вместо %c
и, следовательно, изменить &format
до format
в списке аргументов, поскольку format
сам представляет адрес места, в котором должна храниться строка.
Таким образом, вызов scanf
должен быть таким, как показано ниже
scanf("%s", first);
Другое дело.Если вы указали тип возврата в функции print
, то вы должны что-то вернуть или сделать так, чтобы ничего не возвращалось (объявите тип возврата как void
).В этом случае это не создаст никаких проблем.
Прочитайте предупреждающие сообщения, которые выдает вам компилятор, и вы увидите, что компилятор действительно ответил на ваши вопросы.
Вам нужно сделать некоторыеРедизайн я думаю.Например, чтобы просмотреть связанный список, вам не нужно противопоставлять 'j'.вы можете обнаружить завершение списка, проверив, является ли ссылка next
NULL или нет.
Ваш вопрос заключался в том, чтобы печатать символы или строки в обратном порядке, поэтому вам нужно написать какую-то другую функцию печати, отличную от вашей.написал.