首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

求大神指导下!关于链表的!该如何解决

2013-11-11 
求大神指导下!关于链表的!#include stdio.h#include stdlib.htypedef int Elemtypetypedef int Statu

求大神指导下!关于链表的!
#include <stdio.h>
#include <stdlib.h>
typedef int Elemtype;
typedef int Status;
typedef struct LNode
{
    Elemtype date;
    struct LNode *next;
}LNode,*Linklist;
void initlist_Link(Linklist L)
{
    int i,n;//n为表的长度
    Linklist p,q;
    printf("输入表的长度:\n");
    scanf("%d",&n);
    p=(Linklist)malloc(sizeof(LNode));
    p->next=NULL;
    L=q=p;
    for(i=n;i>0;i--)
    {
     p=(Linklist)malloc(sizeof(LNode));
     printf("输入date:\n");
    scanf("%d",&(p->date));
    p->next=NULL;
    q->next=p;
    q=p;
    }
}
void print(Linklist L)
{
    Linklist p;
    p=L->next;
  while(1)
    {
        printf("%d   ",p->date);
        if((p->next)==NULL)
            break;
        else
            p=p->next;
    }
}
void main()
{
    Linklist La;
    initlist_Link (La);
    print(La);
}
就是创建链表和输出链表,想问下大神们,运行之后弹出来一个Main.exe已经结束工作,问下是哪里错了。
[解决办法]


void initlist_Link(Linklist &L)///设置成引用或者
void initlist_Link(Linklist *L)///设置成指向指针的指针

[解决办法]
想要在在子函数中赋值,就必须要传址。 传值的结果就是调用initlist_Link(La)之后,La的值还是NULL。 你可以在initlist_Link  下面一行打印一下La。
[解决办法]
La是一个指针的意思是,La作为一个变量,他的值是一个地址, 最初的地址是NULL,你现在要更改La的值,那么必须要把La的地址传递进去,无论La本身是什么变量。
[解决办法]
林锐 高质量 C++& C 编程指南
[解决办法]
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处。

热点排行