为了账号安全,请及时绑定邮箱和手机立即绑定

关于例题中的return

for(i=0;i<5;i++)
{
    if(arr[i]==value)
    {
        return i;
     }
}
return -1;

最后return -1,-1不就是这个getIndex函数的返回值吗?

正在回答

4 回答

猜想:getIndex函数在出现第一个return时就代表结束

验证:在结尾加一个输出函数,若函数还在出现第一个return后还继续运行,则会输出error

结果:无论输入哪个值,输出函数都不被调用,即第一个return出现时即代表结束,所以原函数出现return i时,函数结束

int getIndex(int arr[5],int value)

{

    int i;

    for(i=0;i<5;i++)

    {

      if(arr[i]==value)

       {

           return i;

       }  

    }

return -1;

  printf("error");

}


2 回复 有任何疑惑可以回复我~
#1

固化剂 提问者

感谢。真的讲的好啊.
2018-08-19 回复 有任何疑惑可以回复我~
for(i=0;i<5;i++)
{
    if(arr[i] == value)
    {
        index = i;
        break;
     }
     index = -1;
}
return index;


0 回复 有任何疑惑可以回复我~

我在想,那个return -1是不是应该放在if{}的后面,它不是另一种情况吗?

0 回复 有任何疑惑可以回复我~
#1

寒山远火

我也认为应该放在if{}后面
2018-08-07 回复 有任何疑惑可以回复我~
#2

寒山远火

我试了一下,这样就不对了,还是例子里写的对(虽然并不明白为什么= =
2018-08-07 回复 有任何疑惑可以回复我~
#3

慕桂英6193908 回复 寒山远火

我也不明白 return到底是怎么用呢
2018-08-10 回复 有任何疑惑可以回复我~

分为两种情况,返回i和-1

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926018    人
  • 解答问题       20793    个

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

进入课程

关于例题中的return

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信