为了账号安全,请及时绑定邮箱和手机立即绑定

error C1021: invalid preprocessor command 'difine'

error C1021: invalid preprocessor command 'difine'

回首忆惘然 2022-01-12 09:05:57
# include<stdio.h ># include <malloc.h>#difine NULL 0#difine LEN sizcof(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;}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;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);}运行以后:--------------------Configuration: danxinglian - Win32 Debug--------------------Compiling...lianbiao.cc:\documents and settings\atiya\桌面\visual c++\myprojects\danxinglian\lianbiao.c(3) : fatal error C1021: invalid preprocessor command 'difine'执行 cl.exe 时出错.danxinglian.exe - 1 error(s), 0 warning(s)怎么改程序才能正常运行啊???万分感谢! define 改过来以后错误还是很多~~~~
查看完整描述

2 回答

?
精慕HU

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语句删除了。



查看完整回答
反对 回复 2022-01-16
?
狐的传说

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.

查看完整回答
反对 回复 2022-01-16
  • 2 回答
  • 0 关注
  • 575 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信