小yuan不搜题 2021-11-09 14:42 采纳率: 100%
浏览 18
已结题

不知道为什么建立二叉树是终止不了循环



```c
#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, sy
```c



```stem("pause") or input loop */
typedef struct  BitNode {
    char  data;
    struct BitNode *lchild, *rchild;
} BitNode, *BiTree;

BiTree CreateBiT(BiTree T) { //先序建立
    int ch = 0;
    scanf("%d", &ch);
    if (ch == 9) {
        T = NULL;
        printf("od");
        return T;
    } else {
        T = (BiTree)malloc(sizeof(BitNode));
        T->data = ch;
        T->lchild = CreateBiT(T->lchild);
        T->rchild = CreateBiT(T->rchild );

    }

}

void Preorder(BiTree T) { //先序遍历
    if (T) {

        printf("%d", T->data);
        Preorder(T->lchild);
        Preorder(T->rchild);
    } else
        return;
}

void Midorder(BiTree T) { //中序遍历
    if (T) {
        Preorder(T->lchild);
        printf("%d", T->data);
        Preorder(T->rchild);
    } else
        return;
}

int max(int a, int b) {
    return (a >= b ? a : b);
}

int depth(BiTree T) { //二叉树的深度
    if (T)
        return 1 + max(depth(T->lchild), depth(T->rchild));
    else
        return 0;
}

int main(int argc, char *argv[]) {
    BitNode *root;
    root = CreateBiT(root);
    printf("id");
    Preorder(root);
    //  Midorder(root);
    printf("d=%d", depth(root));
    return 0;
}

```

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 11月17日
    • 创建了问题 11月9日

    悬赏问题

    • ¥15 关于stm32hal库驱动ft6336触摸屏遇到的问题
    • ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂
    • ¥15 数字信号处理考试111
    • ¥100 关于#audobe audition#的问题,如何解决?
    • ¥15 allegro17.2生成bom表是空白的
    • ¥15 请问一下怎么打通CAN通讯
    • ¥20 如何在 rocky9.4 部署 CDH6.3.2?
    • ¥35 navicat将excel中的数据导入mysql出错
    • ¥15 rt-thread线程切换的问题
    • ¥15 高通uboot 打印ubi init err 22