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

这里为什么要加break;

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

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

符合条件返回之后,不是函数就得出结果不用循环了吗?为什么还要加break;

正在回答

3 回答

函数有且只能返回一个返回值 所以执行到第一个return就返回 不会执行第二个return


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

     if(arr[i]==value)
      {
         index=i;
         break;
      }    
    }
    return -1;
}


如果我这样执行的 无论何时都是返回-1,在此 break只是终止循环 并不返回一个值  往下运行才能返回一个-1

而你的是先返回一个index 再终止循环


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

如果你不加break 就跳出循环执行return-1;如果符合条件先执行return index  再终止运行 不往下运行则返回的值是index

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

举报

0/150
提交
取消
C语言入门
  • 参与学习       927288    人
  • 解答问题       21537    个

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

进入课程

这里为什么要加break;

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号