Tree的C语言错误

来源:百度知道 编辑:UC知道 时间:2024/07/07 00:44:58
下列程序有什么错呢 最无法理解的是 声明错误

#include<stdio.h>
#include<stdlib.h>
typedef struct BiTNode
{
char data;
struct BiTNode *lchild;
struct BiTNode *rchild;
}*BiTree;
BiTree root;
void CreateBiTree(BiTree &root);
void order(BiTree root);
int Sumofleafnode(Bitree root);
void main()
{char ch;
printf("Now Creat a tree\n");
CreatBiTree(BiTree &root);
printf("xian zai jinxing zhong xu bianli\n");
order(BiTree root);
printf("cout the sum of leafnode\n");
Sumofleafnode(Bitree root);
{
void CreateBiTree(BiTree &root)
{char ch;
printf("\n please insert a char");
root=(BiTree)malloc(sizeof(BiTNode));
scanf("%c",&ch);
if(ch==' ') root=NULL;
else
{ root->data=ch;
CreateBiTree(root->lchild);
CreateBiTree(root->rchild);
}

首先 你main函数的{}不配套
第二 int Sumofleafnode(Bitree root); 大小写是敏感的 你写错了
第三 你函数调用有点混 怎么把类型也写上了 你打算强制转换?那也没有参数的声明部分 总之你错误多多 在指针前面在加&是什么意思呢
在你的基础上修改的 你对照一下 太多修改之处 没时间注释 但是思路按你的来
#include<stdio.h>
#include<stdlib.h>
typedef struct BiTNode
{
char data;
struct BiTNode *lchild;
struct BiTNode *rchild;
}*BiTree;
BiTree root;
void CreateBiTree(BiTree root);
void order(BiTree root);
int Sumofleafnode(BiTree root);
void main()
{char ch;
printf("Now Creat a tree\n");
BiTree root = (BiTNode*)malloc(sizeof(BiTNode));
CreateBiTree(root);
printf("xian zai jinxing zhong xu bianli\n");
order(root);
printf("cout the sum of leafnode : %d\n",Sumofleafnode(root));

}
void CreateBiTree(BiTree root)
{char ch;
printf("\n please insert a char: ");
BiTree root1=(BiTree)malloc(sizeof(