@C语言大神,按序号i查找链表中的元素,第51行为啥有断点错误~~???求解释
#include<stdio.h>#include<stdlib.h>typedefstructNode{chardata;structNode*next;}Node,*...
# include<stdio.h>
# include<stdlib.h>
typedef struct Node
{
char data;
struct Node *next;
}Node,*Linklist;
Linklist Createfromhead()//建立链表
{
Linklist L;Node*s;int flag=1;char c;
L=(Linklist)malloc(sizeof(Node));
L->next=NULL;
while(flag)
{
c=getchar();
if(c!='$')
{
s=(Node*)malloc(sizeof(Node));
s->data=c;
s->next=L->next;
L->next=s;
}
else
flag=0;
}
do{
printf("%c,\n",L->data);
L=L->next ;
}while(L!=NULL);
return L;
}
Node* search()//按照序号i查找元素
{
Node*p;int i,j=0;Linklist L;
p=L;
while((j<i)&&((p->next)!=NULL))
{
j++;
p=p->next;
}
if(j==i) {printf("%c\n",p->data);return p;}
else {printf("NO\n");return NULL;}
}
int main()
{
int i;
Createfromhead();
printf("input the order i:\n");
scanf("%d",&i);
search();
getch();
} 展开
# include<stdlib.h>
typedef struct Node
{
char data;
struct Node *next;
}Node,*Linklist;
Linklist Createfromhead()//建立链表
{
Linklist L;Node*s;int flag=1;char c;
L=(Linklist)malloc(sizeof(Node));
L->next=NULL;
while(flag)
{
c=getchar();
if(c!='$')
{
s=(Node*)malloc(sizeof(Node));
s->data=c;
s->next=L->next;
L->next=s;
}
else
flag=0;
}
do{
printf("%c,\n",L->data);
L=L->next ;
}while(L!=NULL);
return L;
}
Node* search()//按照序号i查找元素
{
Node*p;int i,j=0;Linklist L;
p=L;
while((j<i)&&((p->next)!=NULL))
{
j++;
p=p->next;
}
if(j==i) {printf("%c\n",p->data);return p;}
else {printf("NO\n");return NULL;}
}
int main()
{
int i;
Createfromhead();
printf("input the order i:\n");
scanf("%d",&i);
search();
getch();
} 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询