表示看不懂,求教。

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

老司机一起飞

2015-11-30 20:34

int index = getIndex(arr,value);      //这里应该传什么参数呢?    if(index!=-1)    {        printf("%d在数组中存在,下标为:%d\n",value,index);                } 请问(int index = getIndex(arr,value);)这里的index等于什么。还有if(index!=-1)这个判定是什么?

写回答 关注

5回答

  • 栩栩秋水
    2016-02-22 16:18:48

    int index = getIndex(arr,value),表示把getIndex函数返回的值赋给index,value带入有两种情况:(1)找到arr[i]==value,此时函数返回的值是下标值i,不等于-1,把它赋给index,index!=-1;(2)找不到,此时返回-1,也就是index=-1。希望对您有帮助。

  • RockenRoll
    2015-12-02 09:31:25

    看这个代码就好理解了,上面int getIndex(int arr[5],int value)前面的参数是让你传入一个数组,可以不用加[5],这样传任意长度的数组,后面的参数就是传入一个整形数。index只是一个int型的变量,用来保存你调用nt getIndex(int arr[5],int value)这个函数返回的值,index = 1,就表示你传入的value不是数组的元素。

  • 流浪_老
    2015-12-01 12:34:25

    完整应该是这个代码吧

    #include <stdio.h>

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

    {

        int i;

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

        int index = getIndex(arr,value);

        int length=sizeof(arr)/sizeof(arr[0]);//数组占内存总空间,除以单个元素占内存空间大小,等于数组长度

        printf("数组长度:%d\n",length);

        //index不为-1并且在数组长度范围内

        if(index!=-1 && index<length)

        {

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

        }

        else

        {

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

        }

        return 0;    

    }


  • RockenRoll
    2015-12-01 10:07:34

    发个完整代码看看

  • RockenRoll
    2015-12-01 10:07:33

    发个完整代码看看

C语言入门

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

926025 学习 · 20793 问题

查看课程

相似问题