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

数组下标查询,我的代码为什么错误?结果是8再数组不存在。求大神讲讲

#include <stdio.h>

#include <stdlib.h>


int main()

{

    int arr[5]={3,12,9,8,6};

    int i;

    int value=8;

    int index=0;

    for(i=0;i<5;i++)

    {

      if(arr[i]==value)

      {

          index=i;

      }

     else

     {

         index=-1;

     }

    }

  if(index!=-1)

        {


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

        }

else

        {

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

        }

    return 0;

}


正在回答

2 回答

你这个循环,不会在找到数组内需要查询的数值时退出循环,也就是说在这个程序里会判断数组最后一个元素是否是你查询的那一个,这种情况下,就是最后循环里判断了6和8是否相等。

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

慕慕4797795 提问者

怎么修改呢
2018-05-23 回复 有任何疑惑可以回复我~
#2

世末理想乡 回复 慕慕4797795 提问者

if(arr[i]==value) { index=i; break; }
2018-05-23 回复 有任何疑惑可以回复我~
#3

story苏

多谢。
2018-07-30 回复 有任何疑惑可以回复我~

其实你这个加上break后代码蛮简单易懂的(虽然没有调用函数)。

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

举报

0/150
提交
取消

数组下标查询,我的代码为什么错误?结果是8再数组不存在。求大神讲讲

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