#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;
}
}
return index;
}
int main()
{
int arr[5]={3,12,9,8,6};
int value = 7;
int index = getIndex(arr, value); //这里应该传什么参数呢?
if(index!=-1)
{
printf("%d在数组中存在,下标为:%d\n",value,index);
}
else
{
printf("%d在数组中不存在。\n",value);
}
return 0;
}
这个应该是设计题目的时候没改回来的一个bug。看主函数里面输出不存在提示语的情况是返回值index!=-1,但是在子函数里面并没有定义index的值,也就是说我们不知道index是什么值,对于不在数组内的数字确实是没有通过if语句,但是由于不通过if语句,函数的返回值依然不是-1,所以最后给出的提示就是存在。(第一次给人讲代码耶,我说明白了吗?)