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

代码错在什么地方?

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


正在回答

4 回答

代码是对的,只是这个判题系统不认定这样的代码

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

index未赋值


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

   index 为局部变量,为静态局部变量,对静态局部变量来说,编译时自动附初值0(对数值型变量)或对字符型变量,自动赋值为'\0'

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

后会无期_

没有使用static定义的不能作为静态变量的吧
2017-05-21 回复 有任何疑惑可以回复我~
#2

丨丶老唐 回复 后会无期_

对于局部变量来讲,static声明储存类型的作用是指定变量储存区域以及生存期的问题
2017-05-21 回复 有任何疑惑可以回复我~
#3

丨丶老唐 回复 后会无期_

现在也不太确定我讲的是否正确。。有准确的讨论一下
2017-05-21 回复 有任何疑惑可以回复我~
#4

后会无期_ 回复 丨丶老唐

我只是一名小白,太高深的还不懂,还请大神多多指教,哈哈
2017-05-22 回复 有任何疑惑可以回复我~
查看1条回复

我是这样觉得的:  return index;既没有赋初值,循环中也没有赋值,它没得返回的东西。

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

举报

0/150
提交
取消

代码错在什么地方?

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