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