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

标准答案中的11行的break有必要吗?我这样也能输出成功,10行和14行的return会冲突吗?

1 #include <stdio.h>

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

3 {

4    int i;

5    int index;

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

7    {

8       if(arr[i] == value)

9       {

10           return i;

11          

12       }

13     }

14    return -1;

15 }

16

17 int main()

18 {

19    int arr[5]={3,12,9,8,6};

20    int value = 8;

21    int index = getIndex(arr , value);      //这里应该传什么参数呢?

22    if(index!=-1)

23    {

24        printf("%d在数组中存在,下标为:%d\n",value,index);             

25    }

26    else

27    {

28        printf("%d在数组中不存在。\n",value);    

29    }

30    return 0;    

31 }


正在回答

3 回答

加break之后运行速度会变快。

两个return不冲突,因为只要执行到第一个return之后就不会执行剩下的代码了

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

weixin_慕数据5569706 提问者

感谢您
2020-02-17 回复 有任何疑惑可以回复我~

我试了下,这个程序根本查找不出来第二个相同的元素

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

如果一个数组里面有重复的元素,那加break不就查找不到第二个元素了吗

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

举报

0/150
提交
取消

标准答案中的11行的break有必要吗?我这样也能输出成功,10行和14行的return会冲突吗?

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