问答详情
源自:6-4 数组作为函数参数

if里面为什么要加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;//这里为什加上break后结果正确,不加后结果就是不存在

         }

          else

          {

             index=-1;

          }

       

       

       

    }

    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;    

}


提问者:h11223 2015-11-21 10:22

个回答

  • denmushi
    2015-11-21 12:16:33
    已采纳

    加break的意思是,当扫描到相等的数时,就不用接着循环,直接跳出来。如果你不加,那么它不会跳出来,即使找到了要找的数,也没有办法把它用某种方式记录下来,这样会一直让i自增上去,直到i = 4,也就是最后一个数,相当于你之前的判断白做了,总之就是判断最后一个数,不信你可以把最后一个数改成你要找的数,就可以找到