请高手帮忙看一下这个程序主函数里的语句怎么改就正确了,非常感谢!
#include<stdio.h>#include<malloc.h>typedefstructnode{intdata;structnode*next;}lnode;l...
#include<stdio.h>
#include<malloc.h>
typedef struct node
{int data;
struct node *next;
}lnode;
lnode creat()
{int i;
lnode *head,*p,*q;
head=p=(lnode*)malloc(sizeof(lnode));
for(i=0;i<10;i++)
{q=(lnode*)malloc(sizeof(lnode));
p->next=q;
p=q;
}
p->next=NULL;
return *head;
}
void output(lnode *head)
{ lnode *p=head->next;
while(p)
{printf("%d ",p->data);
p=p->next;
}
}
int main()
{lnode *L;
L=creat();
output(L);
return 0;
} 展开
#include<malloc.h>
typedef struct node
{int data;
struct node *next;
}lnode;
lnode creat()
{int i;
lnode *head,*p,*q;
head=p=(lnode*)malloc(sizeof(lnode));
for(i=0;i<10;i++)
{q=(lnode*)malloc(sizeof(lnode));
p->next=q;
p=q;
}
p->next=NULL;
return *head;
}
void output(lnode *head)
{ lnode *p=head->next;
while(p)
{printf("%d ",p->data);
p=p->next;
}
}
int main()
{lnode *L;
L=creat();
output(L);
return 0;
} 展开
3个回答
展开全部
#include<stdio.h>
#include<malloc.h>
typedef struct node{
int data;
struct node *next;
}lnode;
lnode *creat() {
int i;
lnode *head,*p,*q;
head = p = (lnode *)malloc(sizeof(lnode));
p = head;
for(i = 0;i < 10;i++) {
q = (lnode *)malloc(sizeof(lnode));
q->data = 2*i;
p->next = q;
p = q;
}
p->next=NULL;
return head;
}
void output(lnode *head) {
lnode *p = head->next;
while(p) {
printf("%d ",p->data);
p = p->next;
}
printf("\n\n");
}
void freeheap(lnode *head) {
lnode *p,*q;
p = head;
q = p->next;
while(q) {
p = q;
q = p->next;
free(p);
}
free(head);
}
int main() {
lnode *L;
L = creat();
output(L);
freeheap(L);
return 0;
}
#include<malloc.h>
typedef struct node{
int data;
struct node *next;
}lnode;
lnode *creat() {
int i;
lnode *head,*p,*q;
head = p = (lnode *)malloc(sizeof(lnode));
p = head;
for(i = 0;i < 10;i++) {
q = (lnode *)malloc(sizeof(lnode));
q->data = 2*i;
p->next = q;
p = q;
}
p->next=NULL;
return head;
}
void output(lnode *head) {
lnode *p = head->next;
while(p) {
printf("%d ",p->data);
p = p->next;
}
printf("\n\n");
}
void freeheap(lnode *head) {
lnode *p,*q;
p = head;
q = p->next;
while(q) {
p = q;
q = p->next;
free(p);
}
free(head);
}
int main() {
lnode *L;
L = creat();
output(L);
freeheap(L);
return 0;
}
来自:求助得到的回答
展开全部
lnode creat()里面缺一句
在for之前应该有head->next = p
最后一句改成return head;
在for之前应该有head->next = p
最后一句改成return head;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int main()
{lnode *L;
*L=creat();
output(L);
return 0;
}
{lnode *L;
*L=creat();
output(L);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询