大神,求解???
下面的程序编译没问题,怎么运行不了啊?#include <stdio.h>
#include <stdlib.h>
typedef int datatype;
struct linklist
{
datatype data;
struct linklist *next;
};
void creatlist(struct linklist *head)
{
int i;
struct linklist *p,*q;
p=head;
printf("请输入元素,输入0则停止:");
scanf("%d",i);
while(i!=0)
{
q=(struct linklist *)malloc(sizeof(struct linklist));
q->data=i;q->next=NULL;
p->next=q;
p=q;
scanf("&d",i);
}
}
int insertllist(struct linklist *L,int b)
{
int a;
struct linklist *p,*s,*q;
s=(struct linklist *)malloc(sizeof(struct linklist));
s->data=b;
if(L->next==NULL)
{
L->next=s;
return 1;
}
q=L->next;
while(q!=NULL)
{
if(b>q->data)
{a=q->data;break;}
else
q=q->next;
}
p=L->next;
while((p!=NULL)&&(p->data!=a))
p=p->next;
s->next=p->next;
p->next=s;
return 2;
}
void outputlinklist(struct linklist *head)
{
struct linklist *q;
q=head->next;
while(q!=NULL)
{
printf("%d",q->data);
q=q->next;
}
}
void main()
{
int x;
struct linklist *head;
head=(struct linklist *)malloc(sizeof(struct linklist));
head->next=NULL;
creatlist(head);
printf("请输入要插入的数:");
scanf("%d",&x);
insertllist(head,x);
outputlinklist(head);
}