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

用与不用break的区别

例子里也没有break,为什么题里的for就得用break?

正在回答

2 回答

如果不用break;跳出,就得把相同数放在数组最后让程序自己跳出:

#include <stdio.h>

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

{

    int i;

    int index;

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

    {

       /* 请完善数组查询功能 */

       if(arr[i]==value)       

       {

           index=i;

           //break;

       }   

      else

      {

          index=-1;

      }

      

    }

    return index;

}


int main()

{

    int arr[4]={3,12,9,8};

    int value = 8;

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

    if(index!=-1)

    {

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

    }

    else

    {

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

    }

    return 0;    

}


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

因为例子里直接返回的i或者-1,其中return=-1是在for循环外的,即要么在循环结束前就返回了一个i,要不循环完后没有满足条件返回-1,例题返回的index ,是在循环里的,所以我们要先给献给index赋值,break的作用是跳出这个循环,如果不要break那么返回的永远是-1,而用break即如果存在arr【i】=value,就给index赋值为i,也不需要在检录其它的了

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

慕数据8950116

那要是数组里有两个都等于给出的数呢,这不是只能得到一个了?
2019-03-29 回复 有任何疑惑可以回复我~
#2

gadada 回复 慕数据8950116

这个函数本身只有一个返回值,只是确定是否能找到
2019-03-31 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

用与不用break的区别

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