int index = getIndex(arr,value); //这里应该传什么参数呢? if(index!=-1) { printf("%d在数组中存在,下标为:%d\n",value,index); } 请问(int index = getIndex(arr,value);)这里的index等于什么。还有if(index!=-1)这个判定是什么?
int index = getIndex(arr,value),表示把getIndex函数返回的值赋给index,value带入有两种情况:(1)找到arr[i]==value,此时函数返回的值是下标值i,不等于-1,把它赋给index,index!=-1;(2)找不到,此时返回-1,也就是index=-1。希望对您有帮助。
看这个代码就好理解了,上面int getIndex(int arr[5],int value)前面的参数是让你传入一个数组,可以不用加[5],这样传任意长度的数组,后面的参数就是传入一个整形数。index只是一个int型的变量,用来保存你调用nt getIndex(int arr[5],int value)这个函数返回的值,index = 1,就表示你传入的value不是数组的元素。
完整应该是这个代码吧
#include <stdio.h>
int getIndex(int arr[5],int value)
{
int i;
for(i=0;i<5;i++)
{
/* 请完善数组查询功能 */
if(arr[i]==value)
{
return i;
}
}
return -1;
}
int main()
{
int arr[5]={3,12,9,8,6};
int value = 7;
int index = getIndex(arr,value);
int length=sizeof(arr)/sizeof(arr[0]);//数组占内存总空间,除以单个元素占内存空间大小,等于数组长度
printf("数组长度:%d\n",length);
//index不为-1并且在数组长度范围内
if(index!=-1 && index<length)
{
printf("%d在数组中存在,下标为:%d\n",value,index);
}
else
{
printf("%d在数组中不存在。\n",value);
}
return 0;
}
发个完整代码看看
发个完整代码看看