创建单链表问题 这段代码 我哪里出错了 谢谢各位看下
#include<stdio.h>#include<stdlib.h>structnode{intnum;structnode*next;};/*建立链表*/struct...
#include <stdio.h>
#include <stdlib.h>
struct node
{
int num;
struct node *next;
};
/*建立链表*/
struct node *creat(int n)
{
int x, i;
struct node *head, *p, *r;
head=(struct node*)malloc(sizeof(struct node));
r=head;
printf("请输入数字\r\n");
for(i=0; i<n; i++)
{
scanf("%d", &x);
p=(struct node*)malloc(sizeof(struct node));
p->num=x;
r->next=p;
r=p;
}
r->next=NULL;
return(head);
}
/*输出*/
void output(struct node *head)
{
struct node *pt;
pt=head->next;
while(pt!=NULL)
{
printf("%d\r\n", pt->num);
pt=pt->next;
}
}
void main()
{
int n;
struct node *head;
printf("输入数字的个数n\r\n");
scanf("%d", &n);
head=creat(n);
printf("输入的数字\r\n");
output(head);
free(head);
} 展开
#include <stdlib.h>
struct node
{
int num;
struct node *next;
};
/*建立链表*/
struct node *creat(int n)
{
int x, i;
struct node *head, *p, *r;
head=(struct node*)malloc(sizeof(struct node));
r=head;
printf("请输入数字\r\n");
for(i=0; i<n; i++)
{
scanf("%d", &x);
p=(struct node*)malloc(sizeof(struct node));
p->num=x;
r->next=p;
r=p;
}
r->next=NULL;
return(head);
}
/*输出*/
void output(struct node *head)
{
struct node *pt;
pt=head->next;
while(pt!=NULL)
{
printf("%d\r\n", pt->num);
pt=pt->next;
}
}
void main()
{
int n;
struct node *head;
printf("输入数字的个数n\r\n");
scanf("%d", &n);
head=creat(n);
printf("输入的数字\r\n");
output(head);
free(head);
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询