2 回答
TA贡献1845条经验 获得超8个赞
很多错
不下10个
----------------------------------------------------------------
改后
# include<stdio.h >
# include <malloc.h>
#define NULL 0
#define LEN sizeof(struct number)
struct number
{int num ;
struct number *next;
};
int n;
struct number *creat(void)
{ struct number *head;
struct number *p1,*p2;
n=0;
p1=p2= (struct number*)malloc(LEN);
scanf("%d",&p1->num);
head=NULL;
while (p1->num!=0)
{n=n+1;
if(n==0)head=p1;
else p2->next=p1;
p2=p1;
p1= (struct number *)malloc(LEN);
scanf("%d",&p1->num);
}
p2->next=NULL;
return (head);
}
void Print(struct number *head)
{struct number *p;
printf ("\nNow, These %d records are :\n",n);
p=head;
if (head!=NULL)
do
{printf ("%d ",p->num);
p=p->next;
}while (p!=NULL);
}
struct number *Remove(struct number *head,int num)
{
if(head==NULL)
{
printf ("\nlist null! \n");
//goto end;
return 0;
}
else
{
struct number *p1;
struct number *p2;
p1=head;
while(num!=p1->num&&p1->next!=NULL)
{
p1=p2;p1=p1->next;
}
if(num==p1->num)
{if(p1==head) head=p1->next;
else p2->next=p1->next;
printf("remove:% d\n",num);
}
else printf("%d not been found !\n", num );
}
return (head);
}
int length(struct number*head)
{int i=0;
struct number*p;
p=head;
while(p!=NULL)
{p=p->next;i++;
}
return i;
}
struct number *Insert (struct number*head, struct number *stud)
{struct number *p0,*p1,*p2;
p1=head;
p0=stud;
int count;
if(head==NULL)
{head=p0;p0->next=NULL;}
else
scanf("%d,%d",n,count);
while ( n>=0 && n < length(head) )
{p2=p1;
p1=p1->next;
n=n+1;
}
if (n=length(head)) p1->next=p0;p0->next=NULL;
return (head);
}
运行,无错
由于end在哪儿,我不清楚,所以我把goto语句删除了。
TA贡献1804条经验 获得超3个赞
Fatal Error C1021
invalid preprocessor command 'string'
The characters following the number sign (#) did not form a valid preprocessor directive.
The number sign cannot be used as the first character in an identifier.
- 2 回答
- 0 关注
- 575 浏览
添加回答
举报