鱼C论坛

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

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

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

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

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

x
  1. #include <stdio.h>
  2. #include <malloc.h>
  3. #include <stdlib.h>

  4. typedef struct Node
  5. {
  6.         int data; // 数据域
  7.         struct Node * pNext; // 指针域
  8. }NODE, *PNODE; // NODE等价于struct Node,PNODE等价于struct Node *

  9. PNODE create_list(void);
  10. void traverse_list(PNODE pHead);

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

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

  16.         return 0;
  17. }

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

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

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

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

  38.                 PNODE pNew = (PNODE)malloc(sizeof(NODE));
  39.                
  40.                         if (NULL == pNew)
  41.                         {
  42.                                 printf("内存分配失败,程序终止!\n");
  43.                                 exit(-1);
  44.                         }
  45.                         pNew->data = val;
  46.                         pTail->pNext = pNew;
  47.                         pNew->pNext = NULL;
  48.                         pTail = pNew;
  49.         }
  50.         return pHead;
  51. } // end function PNODE creast_list

  52. void traverse_list(PNODE pHead)
  53. {
  54.         PNODE p = pHead->pNext;

  55.         while (NULL != p)
  56.         {
  57.                 printf("%d ", p->data);
  58.                 p = p->pNext;
  59.         }
  60.         printf("\n");
  61.         return; // 表示函数已结束
  62. }
复制代码


想知道小甲鱼最近在做啥?请访问 -> 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-3-28 18:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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