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

这个数组查找代码中上面的函数不懂

#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;

       

       }

        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;    

}


提问者:mrhouse 2016-04-03 00:55

个回答

  • 执着的青蛙
    2016-04-03 22:57:06
    已采纳

    for(i = 0;i<5;i++) //循环遍历arr数组;

    if(arr[i]==value)//value是一个固定值,用value跟arr中的每一个元素进行比较;

    //如果arr[i]==value 也就是说arr中的第i个元素和value相等

    index=i;//记录这个下标,可以用下标arr[index]取得和value相等的那个值

    break;//已经找到了 就不用再继续下去,跳出循环

    else{

    index=-1;//在这段代码中,每次循环都会执行这条语句,if判断没有找到,index默认为-1;

    }

    return index;    //如果找到了相应的值,index为数组中的对应下标,如果没有找到,index=-1;