问答详情
源自:6-6 数组的应用(二)

为什么要用到break ? 不跳出循环依旧是由效果的,例子中并没有用到break 不跳出循环不也是可以的?

#include <stdio.h>

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

{

    int i;

    int index;

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

    {

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

         if(arr[i]==value)

         {

             index=i;

             break;

         }

                 

    }

    return index;

}


int main()

{

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

    int value = 8;

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

    if(index!=-1)

    {

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

    }

    else

    {

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

    }

    return 0;    

}


提问者:高朱子翼 2015-07-30 20:52

个回答

  • 末日黑龙
    2015-07-30 23:56:55

    break是跳出循环,在这个程序里跳出的是for循环,也就是说如果已经找到了arr[i]的这个i,就立刻停止后面的操作,直接就返回找到的i了。虽然不写break,最后返回的index不变,但是程序多执行了几次没必要的操作。