例子中getIndex(arr,value)函数的返回值怎么有两个?
当arr[3]==38时,为什么最后的函数是返回i=3而不是-1?
当arr[3]==38时,为什么最后的函数是返回i=3而不是-1?
2015-11-17
我来解释吧!
感觉楼上的都没有回答到题主想问的点子上。
其实一开始我也有楼主这种疑问,所以能理解楼主为什么会有这样的困惑。看例子中的循环语句,它是假如arr[i]==value的话那么就将i作为下标返回给函数。注意这里是重点,当程序到了返回函数值这一步的时候,其实就已经相当于给了一个结束改程序的命令,所以就不再进行接下去的操作,所以就不会和题主原来想的那样(我开始也是这么想的),循环语句结束,然后继续执行 “return -1”,这一步操作,所以也就不会再返还一个值了。
另一种情况,当在循环中并没有找到2个一样的值得时候,相当于在循环语句中没有执行到return这一步,所以程序将继续执行后面的内容,就是“return -1”这一步。
举报