意思是
C:\Windows\System32\双向链表.c(46) : error C2143: syntax error : missing ';' before 'type'
C:\Windows\System32\双向链表.c(65) : warning C4013: 'showlist' undefined; assuming extern returning int
编译器告诉你46行和65行有问题
但是你上面那样贴代码,要知道46行和65行就需要从第一行开始数,数到46行,数到65行
如果这样贴代码呢?
行号前面已经有了,不用从第一行开始数了
# include <stdio.h>
# include <stdlib.h>
typedef struct Dulnode{
int data;
struct Dulnode *prior;
struct Dulnode *next;
}Dulnode,*Dulinklist;
void initlist(Dulinklist *L)
{
(*L)=(Dulinklist)malloc(sizeof(Dulnode));
if(!(*L))
printf("无法正常分配空间,对不起哦!\n");
else
{
(*L)->prior=(*L)->next=NULL;
printf("初始化成功!");
}
}
void creatlist(Dulinklist *L)
{
int n,i;
Dulinklist r,p;//指向尾节点
r=*L;
printf("请问您想输入几个元素:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
p=(Dulinklist)malloc(sizeof(Dulnode));
if(!p)
printf("无法正常分配空间,对不起哦~\n");
else
{
printf("情书日第%d个元素",i+1);
scanf("%d",&p->data);
p->next=r->next;
p->prior=r;
r->next=p;
r=p;
}
}
void showlist(Dulinklist *L)
{
Dulinklist p;
p=(*L)->next;
printf("该双向链表中的元素为:");
while(p)
{
printf("%d ",p->data);
p=p->next;
}
}
int main()
{
Dulinklist L;
initlist(&L);
creatlist(&L);
showlist(&L);
return 0;
}
|