#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
typedef struct Bitree
{
struct Bitree *Lchild,*Rchild;
char elem;
}*BiNode,Bitree;
void CreatBitree(Bitree *bt)
{
char ch;
ch=getchar();
fflush(stdin);
if(ch=='.')
bt=NULL;
else
{
bt=(BiNode)malloc(sizeof(Bitree));
bt->elem=ch; //生成二叉树
CreatBitree(bt->Lchild);
CreatBitree(bt->Rchild);
}
}
void Exchange(Bitree *bt)
{
Bitree *temp;
if(bt!=NULL)
{
temp=bt->Lchild;
bt->Lchild=bt->Rchild; //二叉树的交换
bt->Rchild=temp;
Exchange(bt->Lchild);
Exchange(bt->Rchild);
}
}
void PreOrder(Bitree *bt)
{
if(bt!=NULL)
{
printf("%d",bt->elem); //先序遍历
PreOrder(bt->Lchild);
PreOrder(bt->Rchild);
}
}
void main()
{
struct Bitree *root;
CreatBitree(root);
Exchange(root);
PreOrder(root);
}
在按要求输入完二叉树后··程序出现该内存不能为Read,请问 该怎么解决···答得好的话我有加分!!!!