问答详情
源自: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){
           return 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;



提问者:华夫饼干 2015-09-21 16:08

个回答

  • onemoo
    2015-09-21 23:57:20
    已采纳

    getIndex函数中,index变量没有赋初值,应该初始化为-1(代表未找到)。

    还有,getIndex定义时的第一个参数arr,后面的大括号中不用写数字,留空就可以,你以后会明白的。

  • Y_du
    2015-09-21 16:52:31

    这个getIndex(arr , value)传的参数为arr[5],与8.在gentIndex中,你的返回值是index,这个index你只是定义了,没有被使用。所以返回的应该为null