运行c程序时发生了错误(一个删除结点函数)

软件和网站开发以及相关技术探讨
回复
头像
啃帖boy
帖子: 72
注册时间: 2009-02-14 16:28

运行c程序时发生了错误(一个删除结点函数)

#1

帖子 啃帖boy » 2009-02-28 22:57

struct student *del(struct student *head,long num)
{
struct *p1,*p2;
if(head==NULL) {printf("\nlist null! \n");goto end;}
p1=head;
while(num!=p1->num&&p1->next!==NULL)
/*p1指向的不是所要找的结点,并且后面还有结点*/
{
p2=p1;
p1=p1->next;/*p1后移一个结点*/
}
if(num==p1->num)/*找到了*/
{
if(p1==head)head=p1->next;
/*若p1指向的是首结点,把第二个结点地址赋予head*/
else p2->next=p1->next;/*否则将下一结点地址赋给前一结点地址*/
printf("delete:%ld\n",num);
n=n-1;
}
else printf("%ld not been found! \n",num);/*找不到该结点*/
end;
return(head);
}










newfile.c:45: 错误: expected ‘{’ before ‘*’ token
newfile.c:47: 错误: ‘p1’未声明(在此函数内第一次使用)
newfile.c:47: 错误: (即使在一个函数内多次出现,每个未声明的标识符在其
newfile.c:47: 错误: 所在的函数内也只报告一次。)
newfile.c:48: 错误: expected expression before ‘=’ token
newfile.c:51: 错误: ‘p2’未声明(在此函数内第一次使用)
newfile.c:63: 错误: ‘end’未声明(在此函数内第一次使用)
newfile.c:46: 错误: 标号‘end’使用前未定义
头像
lerosua
论坛版主
帖子: 8455
注册时间: 2007-11-29 9:41
联系:

Re: 运行c程序时发生了错误(一个删除结点函数)

#2

帖子 lerosua » 2009-03-01 10:04

语法错误,慢慢看~慢慢找
头像
qlhn
帖子: 736
注册时间: 2006-08-25 10:37
联系:

Re: 运行c程序时发生了错误(一个删除结点函数)

#3

帖子 qlhn » 2009-03-11 9:55

struct *p1,*p2;

struct后面总得有个类型名吧,要不然编译器怎么知道p1、p2指向什么什么类型的结构?
回复