Я пытаюсь создать базовое создание связанного списка, используя C. Я написал следующий код, который работает до первого узла, но в конечном итоге не работает во втором. Я думаю, что проблема заключается в том, где я пытаюсь отобразить значения узлов в списке, разделенные стрелкой (->). Я думаю, что моя логика правильная, но, пожалуйста, поправьте меня. Заранее спасибоВставка связанного списка в начало
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
struct node
{
int number;
struct node *next;
};
typedef struct node NODE;
NODE *node1, *node2, *start, *save;
int main()
{
node1 = (NODE *)malloc(sizeof(NODE));
int i = 0;
start = NULL;
for(i = 0; i < 3; i++)
{
int inf;
printf("Enter node value:");
scanf("%d", &inf);
node1->number = inf;
node1->next = NULL;
if(start == NULL)
{
start = node1;
save = node1;
}
else
{
// save=start;
// start=node1;
// node1->next=save;
node1->next = start;
start = node1;
}
while(node1 != NULL)
{
printf("%d ->",node1->number);
node1 = node1->next;
}
}
return 0;
}
Пожалуйста, отформатируйте свой код! У меня болят глаза! –
Похоже, что 'node1' указывает на себя ... –
ok отредактировал его. Пожалуйста, взгляните еще раз. –