c语言尾插法建立单链表为啥出现这个结果? 5

#include<stdio.h>#include<stdlib.h>#include<malloc.h>typedefstructLNode{intdata;struc... #include<stdio.h>#include<stdlib.h>#include<malloc.h>
typedef struct LNode{ int data; struct LNode *next;}LNode,*LinkList;
void CreateList (LinkList &L,int n){ int i; LinkList p,last; last=(LinkList)malloc(sizeof(LNode)); L=(LinkList)malloc(sizeof(LNode)); L->next=NULL; last=L; for(i=0;i<n;i++) { p=(LinkList)malloc(sizeof(LNode)); scanf("%d",&p->data); last->next=p; p->next=last; p->next=NULL;
}}
void PrintList(LinkList L,int n){ int i; for(i=0;i<n;i++) { printf("%d ",L->next->data); L=L->next; }}
int main(){ int i,n; LinkList L; printf("input the number:"); scanf("%d",&n); CreateList(L,n); PrintList(L,n); return 0;}
展开
 我来答
孤独J潮流
2015-04-02 · TA获得超过366个赞
知道小有建树答主
回答量:404
采纳率:0%
帮助的人:239万
展开全部
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
typedef struct LNode
{
int data;
struct LNode *next;
}LNode,*LinkList;
void CreateList (LinkList &L,int n)
{
int i;
LinkList p,last;
//last=(LinkList)malloc(sizeof(LNode));
L=(LinkList)malloc(sizeof(LNode));
L->next=NULL;
last=L;

for(i=0;i<n;i++)
{
p=(LinkList)malloc(sizeof(LNode));
scanf("%d",&(p->data));
last->next=p;
//p->next=last;
p->next=NULL;
last = p;
}
}
void PrintList(LinkList L,int n)
{
int i;
for(i=0;i<n;i++)
{
printf("%d ",L->next->data);
L=L->next;
}
}
int main()
{
int i,n;
LinkList L;
printf("input the number:");
scanf("%d",&n);
CreateList(L,n);
PrintList(L,n);
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式