yuqiuwangzi 发表于 2013-10-28 10:50:13

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

#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; // 表示函数已结束
}


yuqiuwangzi 发表于 2013-10-28 11:21:35

求助啊,老是看不出哪错了

yuqiuwangzi 发表于 2013-10-28 11:36:57

高手速来啊

yuqiuwangzi 发表于 2013-10-28 12:34:02

肿么每次问数据结构的问题都没几个人鸟我捏。。。

yuqiuwangzi 发表于 2013-10-28 13:19:36

高手们快快出现吧

yuqiuwangzi 发表于 2013-10-28 13:43:02

跪求大神指点。。

yuqiuwangzi 发表于 2013-10-28 15:53:46

:shock:为毛还没人

yuqiuwangzi 发表于 2013-10-28 16:24:45

{:2_36:}人呢。。。。。。。

yuqiuwangzi 发表于 2013-10-28 17:06:59

高手在何方。。。

yuqiuwangzi 发表于 2013-10-28 17:58:20

感觉在自言自语。。。

ypyangpong 发表于 2013-10-28 18:11:25

yuqiuwangzi 发表于 2013-10-28 11:21 static/image/common/back.gif
求助啊,老是看不出哪错了

没有错啊   我在程序上试过,,正常显示啊

ypyangpong 发表于 2013-10-28 18:16:43

你要找什么错误尼,,,我试过是正常的啊   提示输入len=然后我输入10   在输入了10个数后就自动显示出来了啊   ,,没明白你要找什么错误

yuqiuwangzi 发表于 2013-10-28 19:35:35

ypyangpong 发表于 2013-10-28 18:16 static/image/common/back.gif
你要找什么错误尼,,,我试过是正常的啊   提示输入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)

ypyangpong 发表于 2013-10-28 21:26:10

yuqiuwangzi 发表于 2013-10-28 19:35 static/image/common/back.gif
我用VC++6.0报错。。。
Compiling...
list.c


程序没有错。。。我都运行成功了,,,应该是你VC6.0有问题吧,,我用的vs2005

yuqiuwangzi 发表于 2013-10-29 00:36:42

ypyangpong 发表于 2013-10-28 21:26 static/image/common/back.gif
程序没有错。。。我都运行成功了,,,应该是你VC6.0有问题吧,,我用的vs2005

刚换了另一个编译器还是出错。。。我再去调查调查

ypyangpong 发表于 2013-10-29 11:36:07

yuqiuwangzi 发表于 2013-10-29 00:36 static/image/common/back.gif
刚换了另一个编译器还是出错。。。我再去调查调查

你编译运行的时候把BUDUG换成RELEASE版的看看行不行

yuqiuwangzi 发表于 2013-10-29 13:16:00

ypyangpong 发表于 2013-10-29 11:36 static/image/common/back.gif
你编译运行的时候把BUDUG换成RELEASE版的看看行不行

还是一样会出错,无语了

ypyangpong 发表于 2013-10-29 15:29:42

yuqiuwangzi 发表于 2013-10-29 13:16 static/image/common/back.gif
还是一样会出错,无语了

那就不要纠结了,,,你程序代码没有错,,,编译器有问题

yuqiuwangzi 发表于 2013-10-29 16:56:03

ypyangpong 发表于 2013-10-29 15:29 static/image/common/back.gif
那就不要纠结了,,,你程序代码没有错,,,编译器有问题

估计是上次卸VS2010不小心把某些系统组件误删了。。。
页: [1]
查看完整版本: 大伙帮忙看看创建和遍历链表的程序哪错了