标题:这个递归的返回值好奇怪。。
只看楼主
L苍琰
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2014-10-22
 问题点数:0 回复次数:1 
这个递归的返回值好奇怪。。
int chazhao(BSTNode * b,KeyType temp){
  if(b==NULL){
    printf("%d不在二叉树中\n",temp);
    return 0;
  }
  else{
    if(temp==b->key){
      printf("%d在二叉树中\n",temp);
      return 1;
    }
    else if(temp<b->key){
      chazhao(b->lchild,temp);
    }
    else{
      chazhao(b->rchild,temp);
    }
  }
}

然后我们
      printf("%d",chazhao(b,h));
得到的是-1??
不是0和1其中一种吗?求解
2015-07-15 08:58
林月儿
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:湖南
等 级:版主
威 望:138
帖 子:2276
专家分:10647
注 册:2015-3-19
得分:0 
函数适用于顺序二叉树,你的二叉树b打头的根结点是顺序二叉树吗?

剑栈风樯各苦辛,别时冰雪到时春
2015-07-21 09:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-455401-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.176434 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved