请看一下这是哪里漏了 对了好几遍了


#include<stdio.h>
#include<stdlib.h>
#define NULL 0
typedef struct node{
  int data;
  struct node *next;
}Lnode,*Linklist;

void Linklist_creat(Lnode *L);
void Linklist_print(Lnode *L);
void Linklist_reverse(Lnode *L);
void Linklist_insert(Lnode *L);


void main()
{ Lnode *L=(Lnode *)malloc(sizeof(Lnode));
    L->data=0;
    L->next=NULL;
    Linklist_creat(L);
    printf("您创建的列表如下:\n");
    Linklist_print(L);
    //Linklist_reverse(L);
    //printf("逆序后的链表如下:\n");
    //Linklist_print(L);
    Linklist_insert(L);
    Linklist_print(L);
}

void Linklist_creat(Lnode *L){
    int num,n,i;
    Lnode *p,*tail;
    printf("请输入您要创建的链表大小:\n");
    scanf("&d",&n);
    L->data =n;
    tail=L;
    for(i=1;i<=n;i++){
        printf("请输入第%d个链表元素:\n",i);
        scanf("%d",&num);
        p=(Lnode *)malloc(sizeof(Lnode));
        p->data =num;
        p->next =NULL;
        tail->next =p;
        tail=p;
    }
}

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

void Linklist_reverse(Lnode *L){
    Lnode *p, *t;
    p=L->next->next;
    t=p->next;
    L->next->next=NULL;
    while(p){
        p->next =L->next;
        L->next =p;
        p=t;
        if(p!=NULL)t=p->next;
    }
}

void Linklist_insert(Lnode *L){
    int num,n,i;
     Lnode *newp,*p=L;
     printf("请输入您要插入的位置: \n");
     scanf("%d",&n);
     printf("请输入您要插入的元素: \n");
     scanf("%d",&num);
     newp=(Lnode *)malloc(sizeof(Lnode));
     newp->data=num;
     for(i=1;i<n;i++) p=p->next;
     newp->next =p->next;
     p->next =newp;
     L->data++;
}

img

第34行,scanf("%d",&n); //scanf("&d",&n);