江西省养老金:C语言高手们,麻烦你们帮我看一下这个简单程序。

来源:百度文库 编辑:高校问答 时间:2024/04/30 02:32:09
关于数据结构的。共25个错,就都是malloc那里有错。麻烦看一下咯。
我是想做一个前序遍历打印出二叉树,前面是创建二叉树。
#include"stdio.h"
#define NULL 0
struct node
{char data;
struct node *r;
struct node *l;
};
struct node *a,*b,*c,*d,*e,*f,*g;
a=(struct node *)malloc (sizeof(struct node));
b=(struct node *)malloc (sizeof(struct node));
c=(struct node *)malloc (sizeof(struct node));
d=(struct node *)malloc (sizeof(struct node));
e=(struct node *)malloc (sizeof(struct node));
f=(struct node *)malloc (sizeof(struct node));
g=(struct node *)malloc (sizeof(struct node));
a->r=NULL;
a->l=b;a->data=A;
b->l=c;
b->r=d;b->data=B;
c->l=NULL;
c->r=NULL;c->data=C;
d->l=e;
d->r=f;d->data=D;
e->l=NULL;
e->r=NULL;e->data=E;
f->l=NULL;
f->r=g;f->data=F;
g->l=NULL;
g->r=NULL;g->data=G;
void preorder(struct node *a)
{
struct node *p;
struct node s[7];
p=a;int i;
do
{
while(p!=NULL)
{
s[i++]=p;
printf("%c",p->data);
p=p->l;
}
if(i>0)
{
p=s[--i];
p=p->r;
}
}while(p!=NULL||i>0);
}
void main()
{
void preorder(struct node *a);
printf("hehe");
}
没有#include"malloc.h"这样的头文件吧?而且我平时不用都没有错的。那些大写字母加了“”也是一样,关键是malloc那里出错了。呵呵,是有malloc函数,我看到了。我想构建一个二叉树,然后用非递归前序遍历打印出来。

除楼上所提外:
你的那些大写字母都是字符常量吧,加上''
int i;不用显示初始化为0么?

自己编译再看看

笨笨啊,#include<malloc.h>啊,好像你漏了,不过好像还有错哦.自己该吧

#include<malloc.h>这个应该有啊

楼主应该说明白程序要实现的功能!

什么东西啊

看不明白