GetElem_L(LinkList L,int i,int *e)执行不了,大家帮忙看看
程序代码:
/* *单链表 */ #include<stdio.h> #include<stdlib.h> #define MAX 100 typedef struct LNode { int data; struct LNode *next; }LNode,*LinkList; void Create_List(LinkList L,int N) { LinkList p; L=(LinkList)malloc(sizeof(LNode)); L->next=NULL; //带头结点的单链表 for(int i=N;i>0;i--) { p=(LinkList)malloc(sizeof(LNode)); printf("please input the value of data:\n"); scanf("%d",&p->data); p->next=L->next; L->next=p; } } int GetElem_L(LinkList L,int i,int *e) { LinkList p; int j; p=L->next; //p指向第一个结点 j=1; //计数器 while(p!=NULL) { if(j<i) { p=p->next; ++j; } } if(!p||j>i) return -1; e=&p->data; printf("%d\n",e); return 1; } int main() { LinkList q; int n,i; int *e=NULL; q=(LinkList)malloc(sizeof(LNode)); q->next=NULL; printf("please input the number of data:\n"); scanf("%d",&n); Create_List(q,n); printf("please input the value number which need search:\n"); scanf("%d",&i); GetElem_L(q,i,e); return 0; }