C语言,不带头结点的链表,利用头插法存入信息,然后输出,没有error,却运行不了,求大神指点
答案:2 信息版本:手机版
解决时间 2019-10-03 06:55
已解决
2019-10-02 18:53
#include#includetypedef struct
{
char name[20];
int age;
}STD;
typedef struct node
{
STD data;
struct node *next;
}NODE,*LINK;
int chushihua(LINK *H);
int shuchu(LINK H);
void shou(LINK *H);
int chushihua(LINK *H)
{
(*H)=(LINK)malloc(sizeof(NODE));
(*H)=NULL;
return 1;
}
int shuchu(LINK H)
{
LINK s;
int i=1;
s=(LINK)malloc(sizeof(NODE));
s=H;
if(s==NULL)
{
return 0;
}
while(s!=NULL)
{
printf("这是第%d个学生",i);
printf("%s",s->data.name);
printf("%d\n",s->data.age);
s=s->next;
i++;
}
return 1;
}
void shou(LINK *H)
{
LINK p1;
p1=(LINK)malloc(sizeof(NODE));
p1=NULL;
int y=0;
while(y)
{
printf("输入新节点信息:\n");
gets(p1->data.name);
scanf("%d",p1->data.age);
while(getchar()!='\n');
p1->next=(*H);
(*H)=p1;
printf("是否继续?继续-1,结束-0\n");
scanf("%d",&y);
while(getchar()!='\n');
}
}
void main()
{
LINK H;
chushihua(&H);
shou(&H);
shuchu(H);
}
最佳答案
2019-10-02 20:28
#include
#include
typedef struct
{
char name[20];
int age;
}STD;
typedef struct node
{
STD data;
struct node *next;
}NODE,*LINK;
int shuchu(LINK H);
void shou(LINK *H);
int shuchu(LINK H)
{
LINK s;
int i=1;
s=H;
if(s==NULL)
{
return 0;
}
while(s!=NULL)
{
printf("这是第%d个学生",i);
printf("%s ",s->data.name);
printf("%d\n",s->data.age);
s=s->next;
i++;
}
return 1;
}
void shou(LINK *H)
{
int y=-1;
LINK p1;
while(y)
{
p1=(LINK)malloc(sizeof(NODE));
printf("输入新节点信息:\n");
scanf("%s",p1->data.name);
scanf("%d",&p1->data.age);
p1->next=*H;
*H=p1;
printf("是否继续?继续-1,结束-0\n");
scanf("%d",&y);
}
}
void main()
{
LINK H=NULL;
shou(&H);
shuchu(H);
}
全部回答
1楼
2019-10-02 21:19
没有的
我要举报
如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
大家都在看
推荐资讯