为了账号安全,请及时绑定邮箱和手机立即绑定

大神看一下哪里有问题,getIndex函数里不可以使用if- else语句吗

#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;

        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;    

}


正在回答

1 回答

使用if-else的话,除非你要查询的数是数组最后一个元素,最后index的值可能会是你预期的那样。
然而这种逻辑在这里是不恰当的,因为当查询到有这个元素的时候,
执行:index = i;
如果这个所查的数不是数组最后一个元素时,程序会继续执行,当下一个元素不是所要查询的数时,
执行:index = -1;
所以就算你查到有这个数,index的值也不会是预期的值


0 回复 有任何疑惑可以回复我~
#1

慕粉3706100 提问者

原来如此,非常感谢!
2016-09-02 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926020    人
  • 解答问题       20793    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

大神看一下哪里有问题,getIndex函数里不可以使用if- else语句吗

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信