例子中getIndex(arr,value)函数的返回值怎么有两个?

来源:6-6 数组的应用(二)

yjz001

2015-11-17 22:04

当arr[3]==38时,为什么最后的函数是返回i=3而不是-1?


写回答 关注

3回答

  • 沈小豆
    2015-11-30 20:50:55

    调用函数

  • clear绪
    2015-11-24 16:33:42

    我来解释吧!

    感觉楼上的都没有回答到题主想问的点子上。

    其实一开始我也有楼主这种疑问,所以能理解楼主为什么会有这样的困惑。看例子中的循环语句,它是假如arr[i]==value的话那么就将i作为下标返回给函数。注意这里是重点,当程序到了返回函数值这一步的时候,其实就已经相当于给了一个结束改程序的命令,所以就不再进行接下去的操作,所以就不会和题主原来想的那样(我开始也是这么想的),循环语句结束,然后继续执行 “return -1”,这一步操作,所以也就不会再返还一个值了。

    另一种情况,当在循环中并没有找到2个一样的值得时候,相当于在循环语句中没有执行到return这一步,所以程序将继续执行后面的内容,就是“return -1”这一步。

    栩栩秋水

    有道理!return代表结束调用,返回数值。

    2016-02-22 16:10:53

    共 1 条回复 >

  • Viscera
    2015-11-20 17:50:47

    返回值只能是一个,getindex函数中,如果满足if条件,即找到数组arr[i]=38,就返回i,即返回下标给main里的index,如果不满足if条件,就是没找到,返回-1给index。

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926210 学习 · 20797 问题

查看课程

相似问题