运行不到插入的子函数?大神讲解下,那里出错了!!
#include<stdio.h>#include<stdlib.h>
#include<malloc.h>
int i;
typedef struct LNode
{
int data;
struct LNode *next;
}LNode,*LinkList; //结构体类型定义
void Insert_list(LinkList L,int m)
{
LinkList p=L,s;
while(p=!NULL)
{
if(m>=p->data)
{
s=(LinkList)malloc(sizeof(LNode));
s->data=m;
s->next=p->next;
p->next=s;
}
}
} //把m插入到表中合适位置
void Del_list(LinkList L,int x,int y)
{
LinkList p=L,q=L->next;
while(p!=NULL)
{
if(q->data>=x&&q->data<=y)
{
p=p->next;
q=q->next;
}
else
{
p->next=p->next->next;
free(q);
q=p->next;
}
}
} //删除表中大于x小于y的所有元素
LinkList CreateList_L(LinkList L, int n)
{
LinkList p;
L=(LinkList)malloc(sizeof(LNode));
L->next=NULL;
p=L;
printf("请输入你要输入的数的个数\n");
scanf("%d",&n);
for(i=n;i>0;i--)
{
p=(LinkList)malloc(sizeof(LNode));
printf("请输入第%d个数\n",n-i+1);
scanf("%d",&p->data);
p->next=L->next;
L->next=p;
}
return L->next;
} //建立一个含有n个元素的有序递增单链表
void print_L(LinkList L)
{
LinkList p=L;
while(p!=NULL)
{
printf("%d",p->data);
p=p->next;
} //输出
printf("\n");
} //输出单链表中元素
void main()
{
int n,m,x,y;
LinkList S,L; //定义实参
L=CreateList_L(S,n) ; //创建
print_L(L);//输出
printf("请输入要插入的数\n");
scanf("%d",&m);
printf("%d\n",m);//输入m的值
Insert_list(L,m); //插入
print_L(L); //输出
printf("请输入删除数据的范围x和y\n");
scanf("%d%d",&x,&y);//输入x和y的值
Del_list (L,x,y); //删除
print_L(L); //输出
}