qq_31750507
2015-12-19 03:12
采纳率: 52.6%
浏览 1.5k
已采纳

@数据结构大神:递归实现二叉树遍历,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();
}

图片说明

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 霓为衣兮风为裳 2015-12-19 03:39
    已采纳

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

    T 后面是一个逗号吧

    已采纳该答案
    打赏 评论
  • 夜里的柚子 2015-12-19 04:39

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

    打赏 评论
  • 那年的曙光 2015-12-19 05:15

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

    打赏 评论

相关推荐 更多相似问题