中易网

二分查找算法为什么得不到返回值?

答案:1  悬赏:0  
解决时间 2021-11-28 22:37
一下的程序:如果查找成功,最后的result不能得到想要的middle值,返回的是一个奇怪的数字;如果查找失败得到的是相同的奇怪的数字。
#include
int search(int a[],int queryNum,int begin,int end)
{
int middle = (begin+end)/2;
if(begin>end)
return -1;
if(a[middle] == queryNum)
return middle;

else if(a[middle]>queryNum)
search(a,queryNum,begin,middle-1);
else
search(a,queryNum,middle+1,end);

}
int main(void)
{
int result = 0;
int a[5] = {1,2,3,4,5};
result = search(a,2,0,5);
printf("%d",result);
}
最佳答案
search 函数中最后两个分支应该将函数返回值返回。
如下:
return search(a,queryNum,...
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
一个自己喜欢的女孩子说有时间过来找我玩,大
王者荣耀赏金赛活跃有限制吗,我这个星期活跃
嘴被大葱辣的暂时失去味觉了怎么办?
想在胸口纹只凤凰
我想下载散文诗《假如今天是我生命中的最后一
地狱狂蛇怎么卸开dota玩的左键有时候会连续触
手机支付宝贷款1000元每天需要支付多少利息
实木门的门板都是实木的吗?
河北省张家口市桥西区法律援助中心地址有知道
墙尼是什么
爱买网的爱币如果我不刷了可以兑换成钱吗?
寻仙里。幸运一击怎么弄?
成都大数据培训机构哪家比较好
CAD等电子图纸怎么进行系统化的存档以及管理
南开五马路小学现在能跨片上吗?交费能上也行
推荐资讯
宝丽来2000用什么型号的相纸?宝丽来636的呢
老人临终前让打开门开窗户是什么意思
C++WINAPI调用转换为C#DLL的调用
求教!我的电脑桌面上有一些痕迹不能清除,如何
国服龙之谷究竟什么时候公测?
赌彩一掷的意思是什么啊?请解释下!
退休后如何提取公积金
彩虹糖造型地址在什么地方,想过去办事
2014年的昆明公租房什么时候开始申请的?
边氓的意思是什么?边氓的释义是什么啊?
相貌和心灵周国平①世上很少有人完全不在乎自
推索的意思是什么?推索的释义是什么啊?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?