#include <stdio.h>
#include <stdlib.h>
typedef char ElemType;
typedef struct Node
{
	ElemType data;
	struct Node* next;
}Node,*LinkList; 
void GreateFormHead(LinkList L)//插法建立链表函数 
{
	Node *s;//定义一个结点 
	char c;
	int flag=1;
	L=(LinkList)malloc(sizeof(Node));//atention
	L->next=NULL;//头结点   这两句是初始化链表 
	while(flag)
	{
		printf("输入字符:\n");
		c=getchar();
		if(c!='$')//atention  头插法核心步骤 
		{
			s=(Node*)malloc(sizeof(Node));
			s->data=c;
			s->next=L->next;
			L->next=s;
		}
		else
		        flag=0;
	} 
} 
void printf(Node *L)//输出函数   *L是头结点 
{
	Node *q;
	q=L->next;
	while(q!=NULL)
	{
		//putchar(L->data);//atention 
		printf("%c",q->data);
		q=q->next;
	} 
	
}
int main()
{
        LinkList L;	
	GreateFormHead(L);//调用时只用函数名 
	printf(L);
	return 0;
	 
}