#include<stdlib.h>typedef struct node{
    int data;
    struct node *front,*next;
}node,*linkHead;void creatList(linkHead *head,int n)

    int c=0;
    linkHead p;
    linkHead h=(linkHead)malloc(sizeof(node));
    h->front=NULL;
    while(c <= n){
        c++;
        if(c == 1) *head=h;
        else{
        p=(linkHead)malloc(sizeof(node));
        scanf("%d",p->data);
        h->next=p;
        p->front=h;
        h=p;
        }
    }
}
main()
{
linkHead list;
creatList(&list,4);
}大家看看这个程序为什么运行时在第二个输入后就出错了。

解决方案 »

  1.   

    你的函数是一个没有返回值的函数吧
    还有你的malloc写的不对吧
      

  2.   

    不是,scanf("%d",&variable)!散分了
      

  3.   

    #include<iostream.h>typedef struct node{
        int data;
        struct node *front,*next;
    }node,*linkHead;void creatList(linkHead *head,int n)

        int c=0;
        linkHead p;
        linkHead h=new node();
        h->front=NULL;
        while(c <= n){
            c++;
            if(c == 1) *head=h;
            else{
            p=new node();
            cin>>p->data;
            h->next=p;
            p->front=h;
            h=p;
            }
        }
    }
    main()
    {
    linkHead list;
    creatList(&list,4);
    }
      

  4.   

    我编译后没有什么错误啊,我是在vc环境下编译的,我是用c++的语言,取代了c语言的一些东西.编译通过了..................