#include <stdio.h>
typedef struct node
{
int i;
struct node *next;
}node;
node getnode(int a)
{
struct node n;
n.i=a;
n.next=NULL;
return n;
}
main()
{
int i;
node newtemp,root,temp;
scanf("%d",&i);
root=getnode(i);
temp=root;
while(i--)
{
newtemp=getnode(i);
temp.next=&newtemp;
if(root.next==NULL)
{
root=temp;
}
temp=*(temp.next);
}
temp=root;
while( temp.next != NULL )
{
printf(" %d ",temp.i);
temp=*(temp.next);
}
}
Я пытаюсь создать связанный список без использования malloc. Программирование печатает только корневой узел, а за ним не следует узлов. Я не мог найти ошибку. Если бы была проблема с памятью, компилятор gcc бы сбросил ошибку сегментации. (?) Пожалуйста, игнорируйте плохой стиль программирования.