一个简单的C语言问题,请哪位高手指教?
请哪位高手帮忙改一下下面的程序,老是出错.#include<stdio.h>#defineMAXSIZE1000typedefstruct{ElemTypedata;in...
请哪位高手帮忙改一下下面的程序,老是出错.
#include<stdio.h>
#define MAXSIZE 1000
typedef struct{
ElemType data;
int cur;
}
void initspace-SL(SLinklist &space){
int i;
for(i=0;i<MAXSIZE-1;++i)
space[i].cur=i+1;
space[MAXSIZE-1].cur=0;
}
void Malloc-SL(SLinklist &space){
int i;
i=space[0].cur;
if(space[0].cur;
space[0].cur=space[i].cur;
return i;
}
void createlist-SL(SLinklist &space, int z){
SLinklist S
int j,i;
Initspace-SL(space);
S=Malloc-SL(space);
for(j=1;j<=z;++j){
i=Malloc-SL(space);
scanf("plase input a number to space:",&space[i].data);
space[i].cur=S;
S=i ;
}
}
void insert-SL(SLinklist &space,int y,elemtype e){
int j,p;
p=space[0].cur;
while(p&&j<i-1){
p=space[p].cur;
++j;
}
if(!p||j>y-1) return error;
a=Malloc-SL(space);
space[a].data=e;
space[a].cur=space[p].cur;
space[p]=a;
return OK;
}
void display-SL(SLinklist space){
SLinklist p;
p=space[p].cur;
if(!p){
printf("this is null");
else{
printf("%4d",space[p].cur;);
p=space[p].cur;
}
printf("%d",space[p].cur);
}
}
main(){
SLinklist space[100];
int x,y,z;
printf("input the numbers to the arrary:");
scanf("%d"&z);
printf("input the number you want to insert and the position:");
scanf("%d%5d",&x&y);
create-SL(&space,z);
printf("display the datas before insert:");
display-SL(&space);
insert-SL(&space,y,x);
printf("display the dates after insert:");
display-SL(&space);
}
还是不行,请哪位帮忙调试一下. 展开
#include<stdio.h>
#define MAXSIZE 1000
typedef struct{
ElemType data;
int cur;
}
void initspace-SL(SLinklist &space){
int i;
for(i=0;i<MAXSIZE-1;++i)
space[i].cur=i+1;
space[MAXSIZE-1].cur=0;
}
void Malloc-SL(SLinklist &space){
int i;
i=space[0].cur;
if(space[0].cur;
space[0].cur=space[i].cur;
return i;
}
void createlist-SL(SLinklist &space, int z){
SLinklist S
int j,i;
Initspace-SL(space);
S=Malloc-SL(space);
for(j=1;j<=z;++j){
i=Malloc-SL(space);
scanf("plase input a number to space:",&space[i].data);
space[i].cur=S;
S=i ;
}
}
void insert-SL(SLinklist &space,int y,elemtype e){
int j,p;
p=space[0].cur;
while(p&&j<i-1){
p=space[p].cur;
++j;
}
if(!p||j>y-1) return error;
a=Malloc-SL(space);
space[a].data=e;
space[a].cur=space[p].cur;
space[p]=a;
return OK;
}
void display-SL(SLinklist space){
SLinklist p;
p=space[p].cur;
if(!p){
printf("this is null");
else{
printf("%4d",space[p].cur;);
p=space[p].cur;
}
printf("%d",space[p].cur);
}
}
main(){
SLinklist space[100];
int x,y,z;
printf("input the numbers to the arrary:");
scanf("%d"&z);
printf("input the number you want to insert and the position:");
scanf("%d%5d",&x&y);
create-SL(&space,z);
printf("display the datas before insert:");
display-SL(&space);
insert-SL(&space,y,x);
printf("display the dates after insert:");
display-SL(&space);
}
还是不行,请哪位帮忙调试一下. 展开
3个回答
展开全部
你在void initspace-SL(SLinklist &space){
int i;
for(i=0;i<MAXSIZE-1;++i)
space[i].cur=i+1;
space[MAXSIZE-1].cur=0;
}
之前还没有声明 SLinklist 啊
而且开头的结构的定义也忘了最后加分号
应该把结构的定义该为下面这样就可以了,在结构体声明后加
SLinklist 和分号
typedef struct{
ElemType data;
int cur;
}SLinklist;
int i;
for(i=0;i<MAXSIZE-1;++i)
space[i].cur=i+1;
space[MAXSIZE-1].cur=0;
}
之前还没有声明 SLinklist 啊
而且开头的结构的定义也忘了最后加分号
应该把结构的定义该为下面这样就可以了,在结构体声明后加
SLinklist 和分号
typedef struct{
ElemType data;
int cur;
}SLinklist;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询