#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;//这里为什加上break后结果正确,不加后结果就是不存在
}
else
{
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;
}
加break的意思是,当扫描到相等的数时,就不用接着循环,直接跳出来。如果你不加,那么它不会跳出来,即使找到了要找的数,也没有办法把它用某种方式记录下来,这样会一直让i自增上去,直到i = 4,也就是最后一个数,相当于你之前的判断白做了,总之就是判断最后一个数,不信你可以把最后一个数改成你要找的数,就可以找到