Мне нужно написать программу, которая хранит строку, введенную пользователем в связанный список, а затем печатает ее в обратном порядке - если пользователь вводит Hello. выход должен быть .olleH.Чтение строки в связанном списке
Я не совсем понимаю идею списков, однако я придумал что-то, будет очень признателен за любую обратную связь.
typedef struct L {
char c;
struct L *next;
}List;
List *getInput(void) {
List *t = calloc(1, sizeof(List));
int i;
for (i=0; getchar() != '.'; i++) {
t->c = getchar();
t->next = NULL;
printf("%c", t->c);
t = t->c;
t->next = t->next->next;
}
return t;
}
int main (void) {
getInput();
return 0;
}
На данный момент я просто попытался сохранить его в списке t, символом символом, используя getchar(). Затем я хотел бы распечатать его, используя другой цикл, отсчитывающий назад. По некоторым причинам это не работает, хотя и я (не полностью понимая концепцию списков) не может понять, почему.
Цените любую помощь, ребята!
Почему C# тег? –
Согласен, извините за те теги. Это C действительно – user2997781
@ Manu343726 'printf',' NULL' и 'calloc' все существуют на C++, нравятся они вам или нет. (Не то, что я думаю, что это должно быть помечено как C++, но это _is_ почти допустимо C++, отличное от того, чтобы не отбрасывать возвращаемое значение 'calloc'.) –