为什么是运行成功并且结果也是对的,却是输入错误。

来源:6-6 数组的应用(二)

qq_慕工程1451633

2019-06-13 21:16


#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 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回答

  • 晴空92
    2019-06-16 16:07:29
    已采纳

    1、在if判断里面加一个break,循环找到这个值就可以跳出了;

    2、找不到的话要给index赋值为-1


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

               return index;

               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;    

    }


    满慕星辰

    我也是这么写的,运行都是对的,但是不给我通过

    2019-07-27 18:01:53

    共 1 条回复 >

C语言入门

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

926025 学习 · 20793 问题

查看课程

相似问题