御笔剑客 发表于 2017-9-10 12:42:18

关于数组的一个问题

#include <stdio.h>
int getIndex(int arr,int value)
{
    int i;
    int index;
    for(i=0;i<5;i++)
    {
       /* 请完善数组查询功能 */
       ?      
         
      
      
      
    }
    return index;
}

int main()
{
    int arr={3,12,9,8,6};
    int value = 8;
    int index = getIndex(? , ?);      //这里应该传什么参数呢?
    if(index!=-1)
    {
      printf("%d在数组中存在,下标为:%d\n",value,index);            
    }
    else
    {
      printf("%d在数组中不存在。\n",value);   
    }
    return 0;   
}
第二行那个 arr是arr数组里面的第6个元素还是定义为一个5个元素的数组,我快搞混了,求大佬指点指点

ba21 发表于 2017-9-10 13:04:17

int getIndex(int arr,int value); //传递的是数组的地址;所以getIndex(arr , ?),
int value //应该是要查询的值

#include <stdio.h>

int getIndex(int arr,int value)
{
    int i;
    int index;
    for(i=0;i<5;i++)
    {
                if (arr == value)
                {
                        index = i;
                        break;
                }
    }
    return index;
}

int main()
{
    int arr={3,12,9,8,6};
    int value = 9;
    int index = getIndex(arr, value); //这里应该传什么参数呢?
    if(index!=-1)
    {
      printf("%d在数组中存在,下标为:%d\n",value,index);            
    }
    else
    {
      printf("%d在数组中不存在。\n",value);   
    }
    return 0;   
}

御笔剑客 发表于 2017-9-10 23:02:13

ba21 发表于 2017-9-10 13:04
int getIndex(int arr,int value); //传递的是数组的地址;所以getIndex(arr , ?),
int value //应该 ...

那 int arr是定义一个数组吗?

ba21 发表于 2017-9-11 01:25:10

御笔剑客 发表于 2017-9-10 23:02
那 int arr是定义一个数组吗?

是的。你也可以不加5 int arr[]

御笔剑客 发表于 2017-9-11 18:54:54

ba21 发表于 2017-9-11 01:25
是的。你也可以不加5 int arr[]

谢谢了,我明白了
页: [1]
查看完整版本: 关于数组的一个问题