c++链表有关的问题

/*File:cas7.11A前插入创建链表.c【例7.11(p191/p180)】链表前插入应用示例――创建链表A*/#include<stdio.h>#include... /* File: cas7.11A前插入创建链表.c 【例7.11(p191/p180)】链表前插入应用示例――创建链表A */
#include <stdio.h>
#include <stdlib.h>
#define NODE struct node
NODE
{
int val;
NODE *next;
}
NODE *CreateListA()
{
NODE *head; /* 首指针,初始为空链表 */
NODE *node; /* 当前需要插入的结点指针 */
int num; /* 输入的整数值 */
while(scanf("%d", &num) > 0) /* 获得输入值 */
{
if( (node=(NODE*)malloc(sizeof(NODE))) == NULL )
exit(0); /* 为新结点分配空间 */
node->val = num; /* 输入的数据存入结点 */
/* 前插入语句 */
node->next = head;
head = node;
/* 请设置断点,观察链表的首结点 */
}
return head; /* 返回首指针 */
}
void prt(NODE *first)
{
static int i=0;
NODE *node;
node=first;
if((first->next)!=NULL)
{
prt(first->next);
}
printf("node[%d]=%d\n",++i,node->val);
}
main()
{
NODE *first; /* 首指针 */ /* 临时结点指针 */
printf("【例7.11(p191/p180)】链表前插入应用示例――创建链表A\n");
printf("请输入整数[非整数表示结束]\n");
first = CreateListA();
printf("以下是链表中的数据:\n");
prt(first);
}

ompiling...
cas7.11A前插入创建链表.c
C:\Documents and Settings\user\桌面\程序设计题目\上机实习题13\cas7.11A前插入创建链表.c(12) : error C2236: unexpected 'struct' 'node'
执行 cl.exe 时出错.
这算什么问题啊。。。。求大神帮助。。。
展开
 我来答
shaoqi08110820
2012-12-08 · TA获得超过2508个赞
知道大有可为答主
回答量:1514
采纳率:100%
帮助的人:1712万
展开全部
#include <stdio.h>
#include <stdlib.h>
#define NODE struct node
NODE
{
int val;
NODE *next;
};
NODE *CreateListA()
{
NODE *head; /* 首指针,初始为空链表 */
head=(NODE*)malloc(sizeof(NODE));
head->next=NULL;
NODE *node; /* 当前需要插入的结点指针 */
int num; /* 输入的整数值 */
while(scanf("%d", &num) ,num>0) /* 获得输入值 */
{
if( (node=(NODE*)malloc(sizeof(NODE))) == NULL )
exit(0); /* 为新结点分配空间 */

node->val = num; /* 输入的数据存入结点 */
/* 前插入语句 */
node->next = head;
head = node;
/* 请设置断点,观察链表的首结点 */
}
return head; /* 返回首指针 */
}
void prt(NODE *first)
{
static int i=0;
NODE *node;
node=first;
if(node->next!=NULL)
{
printf("node[%d]=%d\n",++i,node->val);
prt(node->next);
}
}
main()
{
NODE *first; /* 首指针 */ /* 临时结点指针 */
printf("【例7.11(p191/p180)】链表前插入应用示例――创建链表A\n");
printf("请输入整数[非整数表示结束]\n");
first = CreateListA();
printf("以下是链表中的数据:\n");
prt(first);
}

//这个可以运行,望采纳。。。。。。。。。。。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tomeling
2012-12-08 · 超过13用户采纳过TA的回答
知道答主
回答量:132
采纳率:0%
帮助的人:52.2万
展开全部
#include <stdio.h>
#include <stdlib.h>
//#define NODE struct node

typedef struct node
{
int val;
struct node *next;
}NODE;

NODE *CreateListA()
{
NODE *head; /* 首指针,初始为空链表 */
NODE *node; /* 当前需要插入的结点指针 */
int num; /* 输入的整数值 */
while(scanf("%d", &num) > 0) /* 获得输入值 */
{
if( (node=(NODE*)malloc(sizeof(NODE))) == NULL )
exit(0); /* 为新结点分配空间 */
node->val = num; /* 输入的数据存入结点 */
/* 前插入语句 */
node->next=head;
head = node;
/* 请设置断点,观察链表的首结点 */
}
return head; /* 返回首指针 */
}
void prt(NODE *first)
{
static int i=0;
NODE *node;
node=first;
if((first->next)!=NULL)
{
prt(first->next);
}
printf("node[%d]=%d\n",++i,node->val);
}
main()
{
NODE *first; /* 首指针 */ /* 临时结点指针 */
printf("【例7.11(p191/p180)】链表前插入应用示例――创建链表A\n");
printf("请输入整数[非整数表示结束]\n");
first = CreateListA();
printf("以下是链表中的数据:\n");
prt(first);
}
这样编译没错。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
CSSHIYF
2012-12-08 · 超过18用户采纳过TA的回答
知道答主
回答量:73
采纳率:0%
帮助的人:51.1万
展开全部
主程序NODE *first; /* 首指针 */ /* 临时结点指针 */
有问题

你是要调用node,而NODE = struct node,会重新定义一个node,有冲突
追问
那怎么改啊。。。这老师给的模版,我编写的是中间的递归部分。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5955729
2012-12-08 · TA获得超过118个赞
知道小有建树答主
回答量:148
采纳率:100%
帮助的人:99.9万
展开全部
你是不是掉了一个分号

  NODE
  {
   int val;
   NODE *next;
  };
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
欢乐多Ek
2012-12-08 · TA获得超过478个赞
知道小有建树答主
回答量:477
采纳率:0%
帮助的人:412万
展开全部
话说,NODE *node=struct node *node
有很大问题吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式