耽误各位大侠一分钟时间.帮小弟我看一个程序.谢谢了.

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();
}
可是我没有得到我要查找的这个数.
这是怎么回事那>? 谢谢各位大侠了>>>
...全文
131 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
liujingfu123 2005-05-25
  • 打赏
  • 举报
回复
不难,别偷懒,自己搞定!
zhang_jiang 2005-05-16
  • 打赏
  • 举报
回复
printf("-----%d",w->data );
改为:
printf("-----%c",w->data ); //XXX
你元素是按字符存储的. 打印的时候也按字符打印吧.

33,028

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧