一个关于双叉树实现的算法,输出有问题。望斧正
程序代码:
#include<stdio.h> #include<malloc.h> typedef struct Node { char data; struct Node* LChild; struct Node* RChild; } BiNode,*BiTree ; //定义二叉树 int CreateBiTree(BiTree *bt) { char ch;//树内的值 ch=getchar(); if (ch=='.') *bt=0//定义空; else { *bt=(BiTree)malloc(sizeof(BiNode)); (*bt)->data=ch; CreateBiTree(&((*bt)->LChild)); CreateBiTree(&((*bt)->RChild)); } return 0; }//用递归二叉树的建立 int PreOrder(BiTree root) { if (root!=0) { printf("%c",&root->data); PreOrder(root->LChild); PreOrder(root->RChild); }; return 0; }//用递归输出 int main () { int CreateBiTree(BiTree* bt); int PreOrder(BiTree root); BiNode a; BiTree b; b=&a; CreateBiTree(&b); PreOrder(&a); return 0; }