这程序怎么错了??
我明明都已经声明定义了,为什么还有这种错误和提示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
# 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;
} @人造人 从提示来看是前面有问题,少了分号 BngThea 发表于 2018-4-2 16:05
从提示来看是前面有问题,少了分号
大兄弟....我英语也没那么差{:10_256:}
我的程序没少啊{:10_250:}我不懂它为什么报这个错误和警告
愿你 发表于 2018-4-2 16:08
大兄弟....我英语也没那么差
我的程序没少啊我不懂它为什么报这个错误和警告
你用代码的格式贴出来,还得一行一行去找你的错误提示指向哪里 BngThea 发表于 2018-4-2 16:10
你用代码的格式贴出来,还得一行一行去找你的错误提示指向哪里
你说的啥意思??没明白{:10_245:} 愿你 发表于 2018-4-2 16:13
你说的啥意思??没明白
意思是
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;
} 人造人 发表于 2018-4-2 16:17
意思是
C:\Windows\System32\双向链表.c(46) : error C2143: syntax error : missing ';' before 'typ ...
我的编译器旁边没有写行号啊{:10_266:} 愿你 发表于 2018-4-2 16:19
我的编译器旁边没有写行号啊
你双击错误信息,可以跳到有问题的哪一行
人造人 发表于 2018-4-2 16:20
你双击错误信息,可以跳到有问题的哪一行
这个我懂 但是没有每一行都在旁边显示出来
只是你点错误信息,它会定位到那里 愿你 发表于 2018-4-2 16:22
这个我懂 但是没有每一行都在旁边显示出来
只是你点错误信息,它会定位到那里
你在IDE的设置里面找一找,应该可以找的显示行号这个选项
人造人 发表于 2018-4-2 16:22
你太棒了!!
我看花眼了都,没看到这个问题{:10_282:} 人造人 发表于 2018-4-2 16:23
你在IDE的设置里面找一找,应该可以找的显示行号这个选项
OK我找找看~{:10_297:}
页:
[1]