dictwzimu 2019-11-19 10:11 采纳率: 100%
浏览 241
已采纳

二叉树赋值操作放在switch函数之后自动循环一次,无法正常使用

二叉树赋值操作放在switch函数之后自动循环一次,不放在switch函数内可以正常使用。

Status CreatBiTree(BiTree &T){

printf("xx\n");
    TElemType ch;
     gets(h);
    h++;
    if (ch == '*')
        T = NULL;
    else
    {
        T = (BiTree)malloc(sizeof(BiTNode));
        if (!T)
            return ERROR;
        T->data = ch;
        CreatBiTree(T->lchild);
        CreatBiTree(T->rchild);
    }

return OK;

}

void menu(){

BiTree T;
TElemType gg;
InitBiTree(T);

printf("n------------------------二叉树操作-----------------------\n");
printf("\n|-                                                    -|\n");
printf("\n|-              1-创建          2-销毁                 -|\n");
printf("\n|-                   4- 先序输出                       -|\n");
printf("\n|-              5-中序输出       6-后序输出             -|\n");
printf("\n|-              7-层序输出       8-结点总数             -|\n");
printf("\n|-              9-深度          0-退出                 -|\n");
printf("\n|-                                                    -|\n");
printf("\n|------------------------------------------------------|\n");
//CreatBiTree(T); 
printf("请输入数值进行操作:");
while (scanf_s("%c", &gg)){


    if (gg == '0')break;
    switch (gg)                 
    {           
    case '1':
        if (InitBiTree(T))
            printf("创建成功\n"); 
        //CreatBiTree(T);
        break;
    case '2':
        if (Destory(T))
            printf("销毁成功\n");
        else
            printf("数为空\n"); break;
    case '3':
        printf("请输入二叉树的值,空用*表示:");
        CreatBiTree(T); break;
  • 写回答

1条回答 默认 最新

  • threenewbee 2019-11-19 10:34
    关注

    while (scanf_s("%c", &gg)){
    ->
    while (1) {
    fflush(stdin);
    scanf_s("%c", &gg);
    ...

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 matlab有关常微分方程的问题求解决
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法