
C语言递归二分法返回值问题
有两点我想不太明白?希望懂得人指教#1:C语言返回到调用它的地方去:按理说应该没有返回才对?就是想说如果二分法返回了return语句返回到调用它的地方,但是BinaryS...
有两点我想不太明白?希望懂得人指教#1:C语言返回到调用它的地方去:按理说应该没有返回才对?就是想说如果二分法返回了return语句返回到调用它的地方,但是BinarySearch没有承接的变量呀?继续执行也没有return就丧失了返回,为什么多次递归之后还是可以准确无误地返回要查找值的下标呢。#2:只是想看一下Mid中值的变化过程,然后printf就把结果改变了?去掉了输出的语句,就能得到正确的答案、否则就是错误的答案。
展开
展开全部
没有return是不对的,但是你如果没有写return,默认会return最后一步的值,binary刚好是最后一个函数,所以结果是对的,加了printf那里就会返回回printf的返回值,就错了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询