单链表输出指定位置的元素 求指导~
想先输入数 然后得出一个链表(-1是结束标志) 之后再输入一个数表示在链表中的位置 然后把这个位置对应的元素显示出来 程序显示不出这个数 怎么改
#include<stdio.h>
#include<stdlib.h>
#define flag -1
typedef struct Node
{
int data;
struct Node *next;
}*LinkList,LNode;
void jianli(LinkList L)
{
LNode *s,*r;
int x;
scanf("%d",&x);
r=L;
while (x!=flag)
{
s=(LinkList)malloc(sizeof(LNode));
s->data=x;
r->next=s;r=s;
scanf("%d",&x);
}
r->next=NULL;
}
LNode *chazhao(LinkList L,int i)
{
LNode *s;
s=L;
int j=0;
while(s!=NULL&&j<i)
{
s=s->next;
j++;
}
return s;
printf("%d",s->data);
}
void main()
{
LinkList L;
L=(LinkList)malloc(sizeof(LNode));
L->next=NULL;
jianli(L);
printf("输出链表为:");
while(L->next)
{
printf("%d ",L->next->data);
L=L->next;
}
int i;
printf("shuru");
scanf("%d",&i);
*chazhao(L,i);
}
[解决办法]