Я работаю на экзамен C и, пытаясь вставить элемент в связанный список, сталкиваюсь с проблемой времени выполнения. Моя единственная цель - добавить 4 элемента для списка, а затем распечатать список. Однако это дает ошибку. Я уже посмотрел несколько кодов ввода, и мой код кажется правильным. Не удается увидеть ошибку. Любая помощь будет оценена.Вставка элемента в связанный список
#include <stdio.h>
#include <stdlib.h>
struct ders{
char kod;
struct ders *next;
}*header;
typedef struct ders Ders;
void add(Ders*,Ders*);
void print(Ders*);
int main(void)
{
header = NULL;
Ders *node = NULL;
int i = 0;
char c;
while(i<4)
{
scanf("%c",&c);
node = (Ders*)malloc(sizeof(Ders));
node->kod = c;
node->next = NULL;
add(header,node);
i++;
}
print(header);
return 0;
}
void add(Ders *header, Ders *node)
{
if(header == NULL){
header = node;
header->next = NULL; }
else{
node->next = header;
header = node;
}
}
void print(Ders *header)
{
Ders *gecici = header;
while(gecici != NULL){
printf("%c\n",gecici->kod);
gecici = gecici->next;
}
}
Ваш 'header' переменная всегда' NULL', потому что вы что-нибудь еще к нему никогда не назначать. –