以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 C/C++编程思想 』  (http://bbs.xml.org.cn/list.asp?boardid=61)
----  输出链表的每个元素  (http://bbs.xml.org.cn/dispbbs.asp?boardid=61&rootid=&id=45086)


--  作者:fangel2000
--  发布时间:4/9/2007 12:19:00 PM

--  输出链表的每个元素
#include "stdafx.h"
#include <stdlib.h>

typedef struct Lnode
{
 int data;
 struct Lnode *next;
}Lnode;

void create(Lnode *LL,int n)
{
 int i;
 LL = (Lnode *)malloc(sizeof(Lnode *));
 LL->data = 0;
 LL->next = NULL;
 for(i = n; i > 0; i--)
 {
  Lnode *p = (Lnode *)malloc(sizeof(Lnode *));
  scanf("%d",&p->data);
  p->next = LL;
  LL = p;
 }
}

void printl(Lnode *L)
{
 Lnode *p,*q;
 q = L;
 p = q->next;
 while(p)
 {
  printf("%d,",p->data);
  p = p->next;
 }
}


int main(int argc, char* argv[])
{
 Lnode *L = NULL;
 create(L,5);    //创建5个值的链表
 printl(L);
 return 0;
}
以上程序想输出链表的每个元素。为什么编译没错,运行出错啊?


--  作者:yyxxh
--  发布时间:4/9/2007 12:59:00 PM

--  
LL = (Lnode *)malloc(sizeof(Lnode *));,  Lnode *p = (Lnode *)malloc(sizeof(Lnode *));感觉不应该要最后那个*.
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms