МОЯ функция для создания связанного списка была
void create(node *list)
{
fscanf(fp,"%d\t",&list->number);
if(list->number==0)
{
list=NULL;
}
else
{
list->next=(node *)malloc(sizeof(node));
create(list->next);
}
return;
}
INPUT в моем текстовом файле был похож на
1 37 79 164 155 32 87 39 113 15 18 78 175 140 200 0
2 4 160 97 191 100 91 20 69 198 196 0
Теперь, когда я пытаюсь получить доступ к 0 через head-> next-> next.....-> число, даже если я назначил нулевой указатель в операторе if, когда ввод равен 0, вывод отображается как 0
Также я попытался изменить оператор if на free (list); теперь я могу получить доступ к элементам в следующей строке, просто добавив больше (следующий->) ч / б заголовок и номер
struct linked_list //structure of node
{
int number;
struct linked_list *next;
};
Пожалуйста, объясните мне, почему программа ведет себя так