求教数据结构简单的二叉树问题
最近自学数据结构学到二叉树这里,自己敲了一段二叉树的建立和输出,可是不能成功。。想请问是什么问题呢?
#include <stdio.h>数据结构
#include <malloc.h>
typedef struct Binary_Node
{
char data;
struct Binary_Node *pLchild;
struct Binary_Node *pRchild;
}BNode;
BNode *create_tree()
{
char val;
BNode *BT;
scanf("%c",&val);
if(val = ' ')
{
BT = NULL;
}
else
{
BT = (BNode*)malloc(sizeof(BNode));
BT->data = val;
BT->pLchild = create_tree();
BT->pRchild = create_tree();
}
return BT;
}
void PreTraverse(BNode *BT)
{
if(BT)
{
printf("%c ",BT->data);
PreTraverse(BT->pLchild);
PreTraverse(BT->pRchild);
}
}
int main(void)
{
BNode *BT;
BT = create_tree();
PreTraverse(BT);
return 0;
}
[解决办法]
BNode *create_tree()
{
char val;
BNode *BT;
scanf("%c",&val);
if(val == ' ') //这里应该是比较 符号 ==
{
BT = NULL;
}
else
{
BT = (BNode*)malloc(sizeof(BNode));
BT->data = val;
BT->pLchild = create_tree();
BT->pRchild = create_tree();
}
return BT;
}