用与不用break的区别

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

慕少4077343

2019-03-02 13:07

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

写回答 关注

2回答

  • qq_慕侠6387112
    2019-03-15 16:00:10

    如果不用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;    

    }


  • blank_boy
    2019-03-02 20:08:53

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

    gadada 回复慕数据895...

    这个函数本身只有一个返回值,只是确定是否能找到

    2019-03-31 20:30:17

    共 2 条回复 >

C语言入门

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

926025 学习 · 20793 问题

查看课程

相似问题