鱼C论坛

 找回密码
 立即注册
查看: 4346|回复: 18

大伙帮忙看看创建和遍历链表的程序哪错了

[复制链接]
发表于 2013-10-28 10:50:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>

typedef struct Node
{
        int data; // 数据域
        struct Node * pNext; // 指针域
}NODE, *PNODE; // NODE等价于struct Node,PNODE等价于struct Node *

PNODE create_list(void);
void traverse_list(PNODE pHead);

int main(void)
{
        PNODE pHead = NULL; // 等价于struct Node pHead = NULL;

        pHead = create_list(); // creast_list函数的功能:创建一个非循环单链表,并将头结点的地址赋给pHead
        traverse_list(pHead);

        return 0;
}

PNODE create_list(void)
{
        int i;
        int len; // 用来存放有效节点的个数
        int val; // 用来临时存放用户输入的节点的值

        // 分配了一个不存放有效数据的头结点
        PNODE pHead = (PNODE)malloc(sizeof(NODE));
        if (NULL == pHead)
        {
                printf("内存分配失败,程序终止!\n");
                exit(-1);
        }
        PNODE pTail = pHead;
        pHead->pNext = NULL;

        printf("请输入你所要生成的节点的个数:len = ");
        scanf("%d", &len);

        for (i = 0; i < len; ++i)
        {
                printf("请输入第%d的节点的值:", i+1);
                scanf("%d", &val);

                PNODE pNew = (PNODE)malloc(sizeof(NODE));
                
                        if (NULL == pNew)
                        {
                                printf("内存分配失败,程序终止!\n");
                                exit(-1);
                        }
                        pNew->data = val;
                        pTail->pNext = pNew;
                        pNew->pNext = NULL;
                        pTail = pNew;
        }
        return pHead;
} // end function PNODE creast_list

void traverse_list(PNODE pHead)
{
        PNODE p = pHead->pNext;

        while (NULL != p)
        {
                printf("%d ", p->data);
                p = p->pNext;
        }
        printf("\n");
        return; // 表示函数已结束
}

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-10-28 11:21:35 | 显示全部楼层
求助啊,老是看不出哪错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-28 11:36:57 | 显示全部楼层
高手速来啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-28 12:34:02 | 显示全部楼层
肿么每次问数据结构的问题都没几个人鸟我捏。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-28 13:19:36 | 显示全部楼层
高手们快快出现吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-28 13:43:02 | 显示全部楼层
跪求大神指点。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-28 15:53:46 | 显示全部楼层
:shock:为毛还没人
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-28 16:24:45 | 显示全部楼层
{:2_36:}人呢。。。。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-28 17:06:59 | 显示全部楼层
高手在何方。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-28 17:58:20 | 显示全部楼层
感觉在自言自语。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-10-28 18:11:25 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-10-28 18:16:43 | 显示全部楼层
你要找什么错误尼,,,我试过是正常的啊   提示输入len=  然后我输入10   在输入了10个数后就自动显示出来了啊     ,,没明白你要找什么错误
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-28 19:35:35 | 显示全部楼层
ypyangpong 发表于 2013-10-28 18:16
你要找什么错误尼,,,我试过是正常的啊   提示输入len=  然后我输入10   在输入了10个数后就自动显示出来 ...

我用VC++6.0报错。。。
Compiling...
list.c
F:\羽毛球\list.c(37) : error C2275: 'PNODE' : illegal use of this type as an expression
        F:\羽毛球\list.c(9) : see declaration of 'PNODE'
F:\羽毛球\list.c(37) : error C2146: syntax error : missing ';' before identifier 'pTail'
F:\羽毛球\list.c(37) : error C2065: 'pTail' : undeclared identifier
F:\羽毛球\list.c(37) : warning C4047: '=' : 'int ' differs in levels of indirection from 'struct Node *'
F:\羽毛球\list.c(48) : error C2275: 'PNODE' : illegal use of this type as an expression
        F:\羽毛球\list.c(9) : see declaration of 'PNODE'
F:\羽毛球\list.c(48) : error C2146: syntax error : missing ';' before identifier 'pNew'
F:\羽毛球\list.c(48) : error C2065: 'pNew' : undeclared identifier
F:\羽毛球\list.c(48) : warning C4047: '=' : 'int ' differs in levels of indirection from 'struct Node *'
F:\羽毛球\list.c(50) : warning C4047: '==' : 'void *' differs in levels of indirection from 'int '
F:\羽毛球\list.c(55) : error C2223: left of '->data' must point to struct/union
F:\羽毛球\list.c(56) : error C2223: left of '->pNext' must point to struct/union
F:\羽毛球\list.c(57) : error C2223: left of '->pNext' must point to struct/union
执行 cl.exe 时出错.

list.obj - 1 error(s), 0 warning(s)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-10-28 21:26:10 | 显示全部楼层
yuqiuwangzi 发表于 2013-10-28 19:35
我用VC++6.0报错。。。
Compiling...
list.c

程序没有错。。。我都运行成功了,,,应该是你VC6.0有问题吧,,我用的vs2005
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-29 00:36:42 | 显示全部楼层
ypyangpong 发表于 2013-10-28 21:26
程序没有错。。。我都运行成功了,,,应该是你VC6.0有问题吧,,我用的vs2005

刚换了另一个编译器还是出错。。。我再去调查调查
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-10-29 11:36:07 | 显示全部楼层
yuqiuwangzi 发表于 2013-10-29 00:36
刚换了另一个编译器还是出错。。。我再去调查调查

你编译运行的时候把BUDUG换成RELEASE版的看看行不行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-29 13:16:00 | 显示全部楼层
ypyangpong 发表于 2013-10-29 11:36
你编译运行的时候把BUDUG换成RELEASE版的看看行不行

还是一样会出错,无语了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-10-29 15:29:42 | 显示全部楼层
yuqiuwangzi 发表于 2013-10-29 13:16
还是一样会出错,无语了

那就不要纠结了,,,你程序代码没有错,,,编译器有问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-29 16:56:03 | 显示全部楼层
ypyangpong 发表于 2013-10-29 15:29
那就不要纠结了,,,你程序代码没有错,,,编译器有问题

估计是上次卸VS2010不小心把某些系统组件误删了。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 17:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表