耽误各位大侠一分钟时间.帮小弟我看一个程序.谢谢了.
shkj 2005-05-14 08:56:49 程序是这样的先建立一个单链表.然后按下标来这个数.
程序如下:
#include <stdio.h>
#include <malloc.h>
#define DATATYPE2 char
typedef struct node
{DATATYPE2 data;
struct node *next;
}LINKLIST;
LINKLIST *get(int k,LINKLIST *head)
{ int j;
LINKLIST *q;
j=0;
q=head;
while (j<k&&q->next!=NULL)
{q=q->next;j++;}
if (j==k) return q;
else return NULL;
}
int countlianbiao(LINKLIST *head){
/*带头结点的单链表:输出单链表元素值并计数*/
int i = 0;
LINKLIST *p;
p = head;
printf("输出单链表元素值 : ");
while(p!=NULL)
{printf(" %c",p->data);
i++;
p = p->next;}
printf("\n");
return i;
}
LINKLIST *jianbiao(LINKLIST *head) {
/*用尾插入法建立带头结点的单链表*/
LINKLIST *t,*last;
char ch;
t=(LINKLIST*)malloc(sizeof(LINKLIST));
head=t;
last=t;
printf("单链表元素值为单个字符, 连续输入,$为结束字符 : ");
while((ch = getchar())!= '$')
{ t=(LINKLIST*)malloc(sizeof(LINKLIST));
t->data =ch;
t->next=NULL;
last->next =t;
last=t;}
return(head);
}
main()
{ LINKLIST *head = NULL;
LINKLIST *w;
int num,g,o,zhao;
printf("\n 建立单链表\n\n");
head = jianbiao(head);
fflush(stdin);
num = countlianbiao(head);
printf("单链表元素个数 = %d\n", num);
printf("请输入你要找的地址");
scanf("%d",&o);
w=get(o,head);
printf("-----%d",w->data );
printf("输入任何数都可以结束");
g=getchar();
}
可是我没有得到我要查找的这个数.
这是怎么回事那>? 谢谢各位大侠了>>>