用先序递归建树,函数无法退出
// Tree struct
typedef struct tree
{
ElemType data;
struct tree * lchild;
struct tree * rchild;
}TreeNode,* Tree;
void CreateTree(Tree* t)
{
char ch;
scanf("%c",&ch);
if ( ch == '#' ){
*t = NULL;
}
else
{
*t = (Tree)malloc(sizeof(TreeNode));
if ( !(*t) )
{
printf("memory allocate error!");
return ;
}
(*t)->data = ch;
CreateTree(&((*t)->lchild));
CreateTree(&((*t)->rchild));
}
return ;
}
int main()
{
Tree T;
printf("\nPlease input node in preorder way,'#'means NULL:");
CreateTree(T);
}
程序执行到CreateTree里面无法退出,递归退出判断条件如何写?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
终端输入2次 # 回车