问答详情
源自: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 idnex = getIndex(arr, value);

if(index != -1)

{

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

}

else

{

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

}

return 0;

}


提问者:qq_愿时光安好_04050009 2016-11-10 20:34

个回答

  • 慕后端3326841
    2016-11-25 03:20:45

    你的int idnex = getIndex(arr, value); 这句中idnex错了,改成index就好。

  • 我是小飞侠
    2016-11-12 13:42:29

    你那个5要去掉,你打arr【5】,这就代表是arr【】数组中的第五个元素,而不是整个数组

    #include <stdio.h>
    int getIndex(int arr[],int value)//你这定义错了!
    {
        int i;
        int index=-1;
        for(i=0;i<5;i++)
        {
    
           /* 请完善数组查询功能 */
           if(arr[i]==value)
           {
           index=i;
           }
    
        }
        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;
    }