帮我改改这个程序 运行出来(链表头插法)
#include <stdio.h>#include <stdlib.h>
typedef char ElemType;
typedef struct Node//atention the 'struct'
{
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;
}