这种C语言下的二叉树递归遍历是可用的, 它工作的非常完美!
void PreOrder(BiTree T){
if(T!=NULL){
visit(T);
printf("T->lchild: %dn", T->lchild);
PreOrder(T->lchild);
PreOrder(T->rchild);
}
}
然而, 当我尝试得到一个完全前序序列, 我做了如下修改, 却得到了runtime error. debug的时候发现是一个段错误.
void PreOrder(BiTree T){
if(T!=NULL){
visit(T);
printf("T->lchild: %dn", T->lchild);
PreOrder(T->lchild);
PreOrder(T->rchild);
}
else{
printf('#');
}
}
我不理解下面这种代码为什么不能拿来递归呢?
1 个回答
第二个printf,不能传入字符,应该是字符指针。
printf("#");
撰写答案