关于不兼容指针类型的初始化的有关问题,请大神们帮帮忙
关于不兼容指针类型的初始化的问题,请大神们帮帮忙
#include <stdio.h>
#include <stdlib.h>
#define MAXNODE 10
typedef char datatype;
typedef struct Binode
{
datatype data;
struct Bitnode *lchild,*rchild;
}Bitnode,*Bitree;
void CreateBinTree(Bitree *T);
void PreOrder(Bitree bt);
void InOrder(Bitree bt);
void PostOrder(Bitree bt);
void LevelOrder(Bitree bt);
int Allnode (Bitree root);
Bitree Search(Bitree bt,datatype x);
int n2(Bitree bt);
int Countleaf(Bitree bt);
int main()
{
Bitree bt,p;
int sel;
datatype x;
printf("Please input your choice: \n1---Create\n2---Preorder\n3---Inorder\n4---Postorder\n5---Levelorder\n6---Allnodenumber\n7---Sreach\n8---Degree 2 nodenumber\n9---Degree 0 number\n10---quit\n");
scanf("%d",&sel);
while(sel!=10)
{
if(sel==1)
{
CreateBinTree(&bt);
printf("Establish finish!\n");
}
if(sel==2)
{
printf("PreOrder is:");
PreOrder(bt);
printf("\n");
}
if(sel==3)
{
printf("InOrder is:");
InOrder(bt);
printf("\n");
}
if(sel==4)
{
printf("PostOrder is:");
PostOrder(bt);
printf("\n");
}
if(sel==5)
{
printf("LevelOrder is:");
LevelOrder(bt);
printf("\n");
}
if(sel==6)
{
printf("The number of all nodes:");
printf("%d",Allnode(bt));
printf("\n");
}
if(sel==7)
{
printf("Please input the data you want to find:");
scanf("\n%c",&x);
p=Search(bt,x);
printf("%c",p->data);
printf("\n");
}
if(sel==8)
{
printf("Degree 2 node number are:");
printf("%d",n2(bt));
printf("\n");
}
if(sel==9)
{
printf("The number of leaf is:");
printf("%d",Countleaf(bt));
printf("\n");
}
printf("\nPlease input your choice: \n1---Create\n2---Preorder\n3---Inorder\n4---Postorder\n5---Levelorder\n6---Allnodenumber\n7---Sreach\n8---Degree 2 nodenumber\n9---Degree 0 number\n10---quit\n");
scanf("%d",&sel);
}
return 0;
}
void CreateBinTree(Bitree *T)
{
char ch;
getchar();
scanf("%c",&ch);
if(ch=='0')
{
*T=NULL;
}
else
{
*T=(Bitnode *)malloc(sizeof(Bitnode));
(*T)->data=ch;
CreateBinTree(&((*T)->lchild));
CreateBinTree(&((*T)->rchild));
}
}
void PreOrder(Bitree bt)
{
if(bt==NULL)
{
return;
}
else
{
printf("%3c",bt->data);
PreOrder(bt->lchild);
PreOrder(bt->rchild);
}
}
void InOrder(Bitree bt)
{
if(bt==NULL)
{
return;
}
else
{
InOrder(bt->lchild);
printf("%3c",bt->data);
InOrder(bt->rchild);
#include <stdio.h>
#include <stdlib.h>
#define MAXNODE 10
typedef char datatype;
typedef struct Binode
{
datatype data;
struct Bitnode *lchild,*rchild;
}Bitnode,*Bitree;
void CreateBinTree(Bitree *T);
void PreOrder(Bitree bt);
void InOrder(Bitree bt);
void PostOrder(Bitree bt);
void LevelOrder(Bitree bt);
int Allnode (Bitree root);
Bitree Search(Bitree bt,datatype x);
int n2(Bitree bt);
int Countleaf(Bitree bt);
int main()
{
Bitree bt,p;
int sel;
datatype x;
printf("Please input your choice: \n1---Create\n2---Preorder\n3---Inorder\n4---Postorder\n5---Levelorder\n6---Allnodenumber\n7---Sreach\n8---Degree 2 nodenumber\n9---Degree 0 number\n10---quit\n");
scanf("%d",&sel);
while(sel!=10)
{
if(sel==1)
{
CreateBinTree(&bt);
printf("Establish finish!\n");
}
if(sel==2)
{
printf("PreOrder is:");
PreOrder(bt);
printf("\n");
}
if(sel==3)
{
printf("InOrder is:");
InOrder(bt);
printf("\n");
}
if(sel==4)
{
printf("PostOrder is:");
PostOrder(bt);
printf("\n");
}
if(sel==5)
{
printf("LevelOrder is:");
LevelOrder(bt);
printf("\n");
}
if(sel==6)
{
printf("The number of all nodes:");
printf("%d",Allnode(bt));
printf("\n");
}
if(sel==7)
{
printf("Please input the data you want to find:");
scanf("\n%c",&x);
p=Search(bt,x);
printf("%c",p->data);
printf("\n");
}
if(sel==8)
{
printf("Degree 2 node number are:");
printf("%d",n2(bt));
printf("\n");
}
if(sel==9)
{
printf("The number of leaf is:");
printf("%d",Countleaf(bt));
printf("\n");
}
printf("\nPlease input your choice: \n1---Create\n2---Preorder\n3---Inorder\n4---Postorder\n5---Levelorder\n6---Allnodenumber\n7---Sreach\n8---Degree 2 nodenumber\n9---Degree 0 number\n10---quit\n");
scanf("%d",&sel);
}
return 0;
}
void CreateBinTree(Bitree *T)
{
char ch;
getchar();
scanf("%c",&ch);
if(ch=='0')
{
*T=NULL;
}
else
{
*T=(Bitnode *)malloc(sizeof(Bitnode));
(*T)->data=ch;
CreateBinTree(&((*T)->lchild));
CreateBinTree(&((*T)->rchild));
}
}
void PreOrder(Bitree bt)
{
if(bt==NULL)
{
return;
}
else
{
printf("%3c",bt->data);
PreOrder(bt->lchild);
PreOrder(bt->rchild);
}
}
void InOrder(Bitree bt)
{
if(bt==NULL)
{
return;
}
else
{
InOrder(bt->lchild);
printf("%3c",bt->data);
InOrder(bt->rchild);