请教一下大家,C语言程序,没有语法问题,但是不能调用, 20
voidcreat_lianbiao()/*将信息保存在链表里*/{intm;printf("\n创建链表\n");printf("请选择数据读取方式:\n");prin...
void creat_lianbiao() /*将信息保存在链表里*/
{
int m;
printf("\n创建链表\n");
printf("请选择数据读取方式:\n");
printf("1.从数组读取 2.从文件读取\n");
printf(" 0.返回 \n");
scanf("%d",&m);
fflush(stdin);
switch(m)
{case 1:load_shuzu();break;
case 2:load_wenjian();break;
case 0:system("cls");mainmenu();break;
default:
{
printf("输入错误请重新输入!\n");
scanf("%d",&m);
fflush(stdin);
}
}
}
stu * load_shuzu()
{
stu * p,* s;
int i,x=0;
p=s=(stu *)malloc(sizeof(stu));
head=NULL;
s->next = NULL;
for (i=0;i<n;i++)
{
x=x+1;
p=&st[i];
if (x==1)
{
head=p;
head->next=NULL;
}
else
{
s=head;
s->next=p;
s=p;
p=(stu *)malloc(sizeof(stu));
}
s->next=NULL;
return (head);
}
} 展开
{
int m;
printf("\n创建链表\n");
printf("请选择数据读取方式:\n");
printf("1.从数组读取 2.从文件读取\n");
printf(" 0.返回 \n");
scanf("%d",&m);
fflush(stdin);
switch(m)
{case 1:load_shuzu();break;
case 2:load_wenjian();break;
case 0:system("cls");mainmenu();break;
default:
{
printf("输入错误请重新输入!\n");
scanf("%d",&m);
fflush(stdin);
}
}
}
stu * load_shuzu()
{
stu * p,* s;
int i,x=0;
p=s=(stu *)malloc(sizeof(stu));
head=NULL;
s->next = NULL;
for (i=0;i<n;i++)
{
x=x+1;
p=&st[i];
if (x==1)
{
head=p;
head->next=NULL;
}
else
{
s=head;
s->next=p;
s=p;
p=(stu *)malloc(sizeof(stu));
}
s->next=NULL;
return (head);
}
} 展开
1个回答
展开全部
stu * load_shuzu()这个函数在creat_lianbiao()上面声明了吗
追问
主要就是在stu * load_shuzu()这个函数出的问题,但是不知道怎么修改了,你可以帮我看一下吗
追答
结构貌似有点乱,按我的思路一般是这样的:
stu * load_shuzu()
{
stu * p,* s;
int i;
head=NULL;
for(i=0;inext != NULL) //非空链表,则找到链表尾巴
{
p = p->next;
}
p->next = s; //接在尾巴上
}
}
return (read);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询