index为什么会等于3?

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

世界太乱挂了咋办

2016-02-19 16:45

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

}





printf("%d在数组中存在,下标为:%d\n",value,index)   这句的index,输出后为什么会是3? 


程序里都没有给予它值啊?

写回答 关注

2回答

  • 只为伊人心独醉
    2016-03-18 16:20:11

    因为下标是从零开始的,你把8放到第一个你就知道了

  • 乐天密
    2016-02-19 16:54:00

    没有复制的话默认的是数组的第一的数。

    世界太乱挂了...

    我把int arr[5]={3,12,9,8,6}的第一个数3改成5 它的结果还是3啊

    2016-02-19 17:01:57

    共 1 条回复 >

C语言入门

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

926207 学习 · 20797 问题

查看课程

相似问题