#include <stdio.h> int getIndex(int arr[5],int value) { int i; int index; for(i=0;i<5;i++) { /* 请完善数组查询功能 */ if (value == arr[i] ) { index= i; return index; } } 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; }
arr[i]和value调换位置不影响吧
对,你说的对,是我看错了,我看成了一个return,你的写法对没问题
1、arr[i] 和 value 互换位置是不影响比较的,谁在前面都一样。
2、getIndex(arr,value)方法里写的不对,应该加上else{index = -1;},不然按你的代码,永远返回index = -1;就算是有,也永远不存在。