利用整数列表存放整数 输入非整数结束存放 最终返回输入的整数

 1 /*建立一个整数链表*/
 2 #include <stdio.h>
 3 #include <stdlib.h> 
 4 struct chain
 5 {
 6     int value;
 7     struct chain *next;
 8 };
 9 struct chain *create()
10 {
11     struct chain *head, *tail, *p;
12     int x;
13     head = tail = NULL;
14     printf("Input data.
");
15     while (scanf("%d", &x) == 1)    /*如果输入的是一个整型的数据,那么向下执行*/
16     {
17         p = (struct chain *)malloc(sizeof (struct chain));
18         /*首先为要新创建的表元p开辟一个内存空间*/
19         p->value = x;
20         p->next = NULL;
21         if (head == NULL)
22             head = tail = p;
23         else
24             /*tail为倒数第二个表元指针,tail->始终指向最后一个表元*/
25             tail = tail->next;
26         tail->next = p;
27     }
28     return head;
29 }
30 
31 int main(){
32     struct chain *p, *q;
33     q = create();
34     while (q) {
35         printf("%d
", q->value);
36         p = q->next;
37         free(q);
38         q = p;
39     }
40     getchar();
41     return 0;
42 }
原文地址:https://www.cnblogs.com/liugangjiayou/p/11638800.html