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

运行成功输入错误,这样做有什么不对吗

#include <stdio.h>

int getIndex(int arr[5],int value)

{

    int i;

    int index;

    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 = 8;

    int index = getIndex(arr,value);      //这里应该传什么参数呢?

    if(index!=-1)

    {

        printf("%d在数组中存在,下标为:%d\n",value,index);             

    }

    else

    {

        printf("%d在数组中不存在。\n",value);    

    }

    return 0;    

}

这样做不行吗 为什么运行成功输入却错误了

正在回答

2 回答

这样做是可以的,和讲解里的例子就是一模一样了嘛。

题目的答案自动检查说这样不行,主要还是想让学习者考虑一下其它的实现代码吧,稍微变通一下就可以了。

0 回复 有任何疑惑可以回复我~
#include <stdio.h>
int getIndex(int arr[],int value)
/*
首先是这一行,你传的第一个参数是arr[5]
如果传的是数组应该传arr[],arr[5]是一个元素
*/
{
    int i;
    int index;
    for(i=0;i<5;i++)
    {
       /* 请完善数组查询功能 */
       if(arr[i]==value)
       /*
           其次是这个判断句,你写的这个判断句其实没错,但是原题是return index,
           所以应该用index保存下标,然后再return index;
       */ 
        {
            index=i;
            break;
        }
    }
    if(i==5)//这个地方是为了主函数中的判断句,就是那个该元素不存在那个
    {
        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;    
}

明白请采纳

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

举报

0/150
提交
取消

运行成功输入错误,这样做有什么不对吗

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