二叉树的先序遍历与创建C(有偿)

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct Tree {

struct Tree *left;
struct Tree* right;
char data;

};
int count = 0;

Tree* Creat(struct TreeT);
void PreFind(struct Tree
T);
int main()
{
struct Tree T;
struct Tree* T1 = &T;
T1= Creat(T1);
printf("ok\n");
printf("%p\n", &*T1);

PreFind(T1);

}

Tree* Creat( Tree* T)
{

char ch;
ch = getchar();
if (ch == '#')
{
 T = NULL;
printf("创建失败");
 }
else 
{
    T=(Tree*)malloc(sizeof(Tree));
    T->data = ch;
    
    printf("%p\t", &*T);
    Creat(T->left);
    Creat(T->right);
}
return T;

}
void PreFind(struct Tree*T)
{
if (T != NULL) {
printf("%c\t", T->data);
printf("%p\t", &*T);
PreFind(T->left);
PreFind(T->right);
}
if (T == NULL)
printf("\tNULL\t");
return;
}

先序遍历(根左右)