请大神帮我看看这个程序哪里出错,麻烦会的赶紧帮我看看,谢谢了
#include<stdio.h>#include<stdlib.h>/*删除递增线性表中值大于min且小于max的元素*/
#include <malloc.h>
#define ERROR 0
#define OK 1
typedef struct Node
{
int data;
struct Node *next;
}Node,*LinkList;/*LinkList为结构指针类型,用来说明头指针变量*/
void initlinklist(LinkList *L)/*初始化单链表*/
{
*L=(LinkList)malloc(sizeof(Node));
(*L)->next=NULL;
}
void Create(LinkList L)/*建立单链表*/
{
Node *s,*r;
char c;
int flag=1;
r=L;
while(flag)
{
scanf("%d",&c);
if(c!=-1)/*当输入-1时建表结束*/
{
s=(Node *)malloc(sizeof(Node));
s->data=c;
r->next=s;
r=s;
}
else
{
flag=0;
r->next=NULL;
}
}
}
int ListLength(LinkList L)
{
int i=0;
Node *p;
p=L->next;
while(p!=NULL)
{p=p->next;
i++;}
return i;
}
void print(LinkList L)
{
Node *p;
p=L->next;
printf("\nThe list value is:");
while(p!=NULL)
{
printf("%d ",p->data);
p=p->next;
}
}
void Delete_Between(LinkList L,int min,int max)
{
Node *p,*q;
if(max>=min)
{
p=L;
q=p->next;
while(q!=NULL&&q->data<=min)
{
p=q;
q=q->next;
}
while(q!=NULL&&q->data<max)
{
p->next=q->next;
free(q);
q=p->next;
}
}
}
void main()
{
LinkList LA;
Node *p,*q;
int i,len;
char min,max;
initlinklist(&LA);
printf("please Create the LA,using the -1 End(the increasing):\n");
Create(LA);
print(LA);
getchar();
printf("\nplease input the value of min and max:");
scanf("%d %d",&min,&max);
Delete_Between(LA,min,max);
print(LA);
}