主题:[原创]高手来找错!急
初学者,写了个程序,有错误,高手帮忙一下
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef int datatype;
typedef struct link_node{
datatype info;
struct link_node *next;
} node ,*LinkList;
node* creatlistr(void)
{ datatype data; node *head,*s,*r;
head=NULL;r=NULL;
scanf("%d",&data);
while (data)
{ s=(node *)malloc(sizeof(node));
s->info=data;
if (head==NULL) head=s;
else r->next=s;
r=s;
scanf("%d",&data);
}
if (r!=NULL) r->next=NULL;
return head;
}
void print_hlink_list(node *head)
{
node *p;
p=head;
if(!p) printf("\n带头结点单链表是空的!");
else
{
printf("\n带头结点的单链表各个结点的值为:\n");
while(p) { printf("%5d",p->info);p=p->next;}
}
}
void main()
{
node *head;
head=creatlistr(void);
print_hlink_list(head);
}
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef int datatype;
typedef struct link_node{
datatype info;
struct link_node *next;
} node ,*LinkList;
node* creatlistr(void)
{ datatype data; node *head,*s,*r;
head=NULL;r=NULL;
scanf("%d",&data);
while (data)
{ s=(node *)malloc(sizeof(node));
s->info=data;
if (head==NULL) head=s;
else r->next=s;
r=s;
scanf("%d",&data);
}
if (r!=NULL) r->next=NULL;
return head;
}
void print_hlink_list(node *head)
{
node *p;
p=head;
if(!p) printf("\n带头结点单链表是空的!");
else
{
printf("\n带头结点的单链表各个结点的值为:\n");
while(p) { printf("%5d",p->info);p=p->next;}
}
}
void main()
{
node *head;
head=creatlistr(void);
print_hlink_list(head);
}