@数据结构大神:递归实现二叉树遍历,38行为什么错?

 # include<stdio.h>
# include<stdlib.h>
# include<malloc.h>
# define Max_Size 3
typedef struct Node{
 int data;
 struct Node *Lchild;
 struct Node *Rchild;
}BiTNode,*BiTree;
int x,k=0;

void CreateBiTree(BiTree T)//L是节点 
{
 while(k!=Max_Size)
  {
   scanf("%d",&x);++k;//注意写法
      //if(!(scanf("%d",&x))) printf("NULL");//T=NULL;//x不是数字 
      if(!(T=(BiTree)malloc(sizeof(BiTree)))) exit(0);//已满,不能分配
      else 
      {
     T->data=x;
     CreateBiTree(T->Lchild);
     CreateBiTree(T->Rchild);
      } 
  }
}

void Visit(BiTree T)
{
 printf("%d,",x);
}

int PreOrder(BiTree T.int (* Visit)(int e))
{
    int Print(int e)
    {
     printf("%d,",e);
     return 1;
    }//是否打印

  if(T){
     if(Visit(T->data))
      if(PreOrder(T->Lchild.visit))
       if(PreOrder(T->Lchild.visit)) return 1;
     else return 0;
       }
  else return 1;

}

int main(BiTree T)
{   
 CreateBiTree(T);
 PreOrder(T);
 getch();
}

图片说明

int PreOrder(BiTree T.int (* Visit)(int e))

T 后面是一个逗号吧

形参写错了吧,int前是一个英文逗号吧~

参数间应该是逗号相连吧……