二叉树遍历程序错在哪里?Pre()函数运行不下去了,求大神解答,谢谢!//
// main.c
// BinTree2
//
// Created by chongyi yang on 9/29/17.
// Copyright © 2017 chongyi yang. All rights reserved.
//
#include <stdio.h>
#include <mm_malloc.h>
#define DEPTH 3
typedef struct node *TNode;
struct node
{
int letter;
TNode left;
TNode right;
};
TNode Create(TNode tree,int depth);
void Pre(TNode tree);
int main()
{
TNode tree;
tree=(TNode)malloc(sizeof(TNode));
tree=Create(tree,DEPTH);
Pre(tree);
return 0;
}
TNode Create(TNode Tree,int depth)
{
TNode t_left,t_right;
//Initialization
t_left=(TNode)malloc(sizeof(TNode));
t_right=(TNode)malloc(sizeof(TNode));
t_left->letter=0;
t_right->letter=0;
t_left->left=NULL;
t_left->right=NULL;
t_right->left=NULL;
t_right->right=NULL;
printf("Type tree's letter:\n");
scanf("%d",&Tree->letter);
//getchar();
Tree->left=t_left;
Tree->right=t_right;
if(Tree)
{
depth--;
if(depth<=0)return NULL;
Create(Tree->left,depth);
Create(Tree->right, depth);
}
return Tree;
}
void Pre(TNode tree)
{
if(tree)
{
printf("%d ",tree->letter);
Pre(tree->left);
Pre(tree->right);
}
return;
}
守着星空守着你