| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1119 人关注过本帖
标题:链表,错误!!
只看楼主 加入收藏
独角龙
Rank: 1
等 级:新手上路
帖 子:221
专家分:0
注 册:2006-5-5
收藏
 问题点数:0 回复次数:19 
链表,错误!!

能运行,但结果错误!!
#include <stdio.h>
#include <malloc.h>
#include <conio.h>

typedef struct node
{
int data;
struct node *next;
}*LinkList, ListNode;

static void InitList(LinkList *head);
static void CreateList(LinkList *head);
static void VisitList(LinkList head);

int main(void)
{
LinkList newhead;

InitList(&newhead);
CreateList(&newhead);
VisitList(newhead);

return 0;
getch();
}

static void InitList(LinkList *head)
{
if (*head != NULL)
*head = NULL;
}

static void CreateList(LinkList *head)
{
int data;
ListNode *p;
printf("Enter the number:\n");
scanf("%d", &data);

while (data != 0)
{
p = (LinkList)malloc(sizeof(ListNode));
if (p == NULL) exit(1);
p -> data = data;
p -> next = *head;
*head = p;

printf("Enter the number:\n");
scanf("%d", &data);
}
}

static void VisitList(LinkList head)
{
ListNode *p;
p = head;

while (p)
{
p = p -> next;
printf("%d ", p -> data);
}
}

搜索更多相关主题的帖子: 链表 void LinkList newhead node 
2006-05-20 18:47
工藤♀新一
Rank: 1
等 级:新手上路
帖 子:140
专家分:0
注 册:2006-5-4
收藏
得分:0 
以下是引用独角龙在2006-5-20 18:47:00的发言:

能运行,但结果错误!!
#include <stdio.h>
#include <malloc.h>
#include <conio.h>

typedef struct node
{
int data;
struct node *next;
}*LinkList, ListNode;

static void InitList(LinkList *head);
static void CreateList(LinkList *head);
static void VisitList(LinkList head); 应该是static void VisitList(LinkList *head);

int main(void)
{
LinkList newhead;

InitList(&newhead);
CreateList(&newhead);
VisitList(newhead);

return 0;
getch();
}

static void InitList(LinkList *head)
{
if (*head != NULL)
*head = NULL;
}

static void CreateList(LinkList *head)
{
int data;
ListNode *p;
printf("Enter the number:\n");
scanf("%d", &data);

while (data != 0)
{
p = (LinkList)malloc(sizeof(ListNode));
if (p == NULL) exit(1);
p -> data = data;
p -> next = *head;
*head = p;

printf("Enter the number:\n");
scanf("%d", &data);
}
}

static void VisitList(LinkList head)
{
ListNode *p;
p = head;

while (p)
{
p = p -> next;
printf("%d ", p -> data);
}
}

只看了一点发现一个小错误已用红的表示出来了~


很高兴能和大家一起学习程序! QQ:114109098
2006-05-20 19:05
独角龙
Rank: 1
等 级:新手上路
帖 子:221
专家分:0
注 册:2006-5-5
收藏
得分:0 

NO!!

奋斗改变一切!!
2006-05-20 19:22
工藤♀新一
Rank: 1
等 级:新手上路
帖 子:140
专家分:0
注 册:2006-5-4
收藏
得分:0 

typedef struct node
{
int data;
struct node *next;
}*LinkList, ListNode;
LinkList newhead;
这一句是指定义了指向
struct node 的1维指针 newhead?


很高兴能和大家一起学习程序! QQ:114109098
2006-05-20 19:34
独角龙
Rank: 1
等 级:新手上路
帖 子:221
专家分:0
注 册:2006-5-5
收藏
得分:0 
static void VisitList(LinkList *head);
VisitList(&newhead);
static void VisitList(LinList head);
VisitList(newhead);
在不改变链表的情况下,第二种情况就行拉

奋斗改变一切!!
2006-05-20 19:41
独角龙
Rank: 1
等 级:新手上路
帖 子:221
专家分:0
注 册:2006-5-5
收藏
得分:0 
你自己运行一下!!

奋斗改变一切!!
2006-05-20 19:42
工藤♀新一
Rank: 1
等 级:新手上路
帖 子:140
专家分:0
注 册:2006-5-4
收藏
得分:0 

typedef struct node
{
int data;
struct node *next;
}*LinkList, ListNode;
这钟定义方法我还是第一次看见~直接定义结构体的指针不行吗?


很高兴能和大家一起学习程序! QQ:114109098
2006-05-20 19:54
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
收藏
得分:0 

#include <stdio.h>
#include <malloc.h>
#include <conio.h>

typedef struct node
{
int data;
struct node *next;
}*LinkList, ListNode;

static void CreateList(LinkList *head);
static void VisitList(LinkList head);

int main(void)
{
LinkList newhead = NULL;

CreateList(&newhead);

VisitList(newhead);

getch();
return 0;
}

static void CreateList(LinkList *head)
{
int data;
LinkList p;

printf("Enter the number:\n");
scanf("%d", &data);

while (data != 0)
{
if ((p = (LinkList)malloc(sizeof(ListNode))) == NULL)
{
exit(1);
}

p -> data = data;
p -> next = *head;

*head = p;

printf("Enter the number:\n");
scanf("%d", &data);
}
}

static void VisitList(LinkList head)
{
LinkList p;

p = head;

while (p)
{
printf("%d ", p -> data);
p = p -> next;
}
}




日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-05-20 19:55
工藤♀新一
Rank: 1
等 级:新手上路
帖 子:140
专家分:0
注 册:2006-5-4
收藏
得分:0 

你可以加上注释吗?这样方便看


很高兴能和大家一起学习程序! QQ:114109098
2006-05-20 19:56
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
收藏
得分:0 

你是从前边插入的,新的结点都插入到表头了


日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-05-20 19:56
快速回复:链表,错误!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016043 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved