1 #include<stdio.h>
 2 #include<stdlib.h>
 3 typedef struct Node{
 4     char data;
 5     Node*next;
 6 }Node,*LinkList;
 7 IniteLinkList(LinkList*L)
 8 {
 9     *L=(LinkList)malloc(sizeof(Node));
10     (*L)->next=NULL;
11 }
12 CreateLinkList(LinkList L)
13 {
14     char e,b='T';//b的作用是吞掉空格与回车,并控制循环 
15     Node*q=L,*t;
16     while(b!='\n')
17     {    
18         e=getchar();
19         b=getchar();
20         t=(LinkList)malloc(sizeof(Node));
21         t->data=e;
22         t->next=q->next;
23         q->next=t;
24         q=t;
25     }
26 }
27 int LengthLinkList(LinkList L)
28 {
29     Node*t;
30     int num=0;
31     for(t=L->next;t;t=t->next)num++;
32     return num;
33 }
34 int main()
35 {
36     LinkList L;
37     IniteLinkList(&L);
38     CreateLinkList(L);
39     printf("%d",LengthLinkList(L));
40     return 0;
41     
42 }