「已注销」 2021-11-13 22:06 采纳率: 0%
浏览 16

c++,搞不明白程序是怎么执行的

最近在学习二叉树的时候遇到一个疑惑的现象

img

img


明明是相同的输入,只是多了几个Enter,程序就不会结束了,哪位好心解答一下呗。
附源代码

#include <stdio.h> 
#include <malloc.h> 
 typedef char ElemType;
 
 typedef struct BiNode
 {
     ElemType data;
     struct BiNode *lchild ,*Rchild;
 }BiTNode,*BiTree;
 
 void create(BiTree &T)
 {
     ElemType Val;
     BiTNode *p=(BiTNode *)malloc(sizeof(BiTNode));
         scanf("%c",&Val);
         if(Val!='#'){
         p->data=Val;
         create(p->lchild);
         create(p->Rchild);}
         else 
         p =NULL;
         T=p;
         
 }
 int main()
 {        BiTree T=NULL;
         create(T);    
         
         
         return 0;
 }

  • 写回答

1条回答 默认 最新

  • 关注
    void create(BiTree &T)
     {
         ElemType Val;
         BiTNode *p=(BiTNode *)malloc(sizeof(BiTNode));
            fflush(stdin); //清空缓存
             scanf("%c",&Val);
             if(Val!='#'){
             p->data=Val;
             create(p->lchild);
             create(p->Rchild);}
             else 
             p =NULL;
             T=p;
             
     }
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 11月13日

悬赏问题

  • ¥20 如何在 rocky9.4 部署 CDH6.3.2?
  • ¥35 navicat将excel中的数据导入mysql出错
  • ¥15 rt-thread线程切换的问题
  • ¥20 python忆阻器数字识别
  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api