![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/e018696f47d4ef29fedb53c56918928d.png)
#include <stdio.h>
#include <stdlib.h>
struct ListNode {
int data;
struct ListNode *next;
};
struct ListNode *createlist();
int main()
{
struct ListNode *p, *head = NULL;
head = createlist();
for ( p = head; p != NULL; p = p->next )
printf("%d ", p->data);
printf("\n");
return 0;
}
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/876f79f5bce4a849b2b8ff7820217b94.png)
struct ListNode *createlist()
{
struct ListNode *head,*tail,*p;
head=tail=NULL;
int num;
while(scanf("%d",&num) && num!=-1){
p=(struct ListNode *)malloc(sizeof(struct ListNode));
p->data=num;
p->next=head;
head=p;
}
return head;
}