主题:各位大侠请帮忙
#include<stdio.h>
#include<malloc.h>
typedef struct Node
{
char a;
struct Node *next;
}Node,*LinkList;
InitList(LinkList *L)
{
*L=(LinkList)malloc(sizeof(Node));
(*L)->next=NULL;
}
void CreateFromTail(LinkList L)
{
Node *r,*s;
int flag=1;
r=L;
char c;
while(flag)
{
c=getchar();
if(c!='$')
{
s=(Node *)malloc(sizeof(Node));
s->a=c;
r->next=s;
r=s;
}
else
{
flag=0;
r->next=NULL;
}
}
}
Node *Get(LinkList L,int i)
{
int j;
Node *p;
if(i<=0) return NULL;
p=L;j=0;
while((p->next!=NULL)&&(j<i))
{
p=p->next;
j++;
}
if(i==j) return p;
else return NULL;
}
void main()
{
LinkList *L;
InitList(L);
CreateFromTail(*L);
printf("查找的位置");
int i,j;
Node *p;
p=*L;
scanf("%d",&i);
printf("查找的值为%d\n",Get(*L,i));
while(p->next!=NULL)
{
printf("%c ",p->next);
p=p->next;
}
free(*L);
}
这是按序号查找(链表形式),为什么检测出来没有错,但是读程序(程序运行时)不能多,说什么遇到问题要关闭!!??
还有现在为什么做数据结构的作业时,点击检测错误时,他就会卡在那里不动呢~~??
请哪位大侠帮帮忙,谢谢了!!!
#include<malloc.h>
typedef struct Node
{
char a;
struct Node *next;
}Node,*LinkList;
InitList(LinkList *L)
{
*L=(LinkList)malloc(sizeof(Node));
(*L)->next=NULL;
}
void CreateFromTail(LinkList L)
{
Node *r,*s;
int flag=1;
r=L;
char c;
while(flag)
{
c=getchar();
if(c!='$')
{
s=(Node *)malloc(sizeof(Node));
s->a=c;
r->next=s;
r=s;
}
else
{
flag=0;
r->next=NULL;
}
}
}
Node *Get(LinkList L,int i)
{
int j;
Node *p;
if(i<=0) return NULL;
p=L;j=0;
while((p->next!=NULL)&&(j<i))
{
p=p->next;
j++;
}
if(i==j) return p;
else return NULL;
}
void main()
{
LinkList *L;
InitList(L);
CreateFromTail(*L);
printf("查找的位置");
int i,j;
Node *p;
p=*L;
scanf("%d",&i);
printf("查找的值为%d\n",Get(*L,i));
while(p->next!=NULL)
{
printf("%c ",p->next);
p=p->next;
}
free(*L);
}
这是按序号查找(链表形式),为什么检测出来没有错,但是读程序(程序运行时)不能多,说什么遇到问题要关闭!!??
还有现在为什么做数据结构的作业时,点击检测错误时,他就会卡在那里不动呢~~??
请哪位大侠帮帮忙,谢谢了!!!