亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

用與不用break的區別

例子里也沒有break,為什么題里的for就得用break?

正在回答

2 回答

如果不用break;跳出,就得把相同數放在數組最后讓程序自己跳出:

#include <stdio.h>

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

{

? ? int i;

? ? int index;

? ? for(i=0;i<4;i++)

? ? {

? ? ? ?/* 請完善數組查詢功能 */

? ? ? ?if(arr[i]==value)? ? ? ?

? ? ? ?{

? ? ? ? ? ?index=i;

? ? ? ? ? ?//break;

? ? ? ?}? ?

? ? ? else

? ? ? {

? ? ? ? ? index=-1;

? ? ? }

? ? ??

? ? }

? ? return index;

}


int main()

{

? ? int arr[4]={3,12,9,8};

? ? int value = 8;

? ? int index = getIndex(arr , value);? ? ? //這里應該傳什么參數呢?

? ? if(index!=-1)

? ? {

? ? ? ? printf("%d在數組中存在,下標為:%d\n",value,index);? ? ? ? ? ? ?

? ? }

? ? else

? ? {

? ? ? ? printf("%d在數組中不存在。\n",value);? ??

? ? }

? ? return 0;? ??

}


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

因為例子里直接返回的i或者-1,其中return=-1是在for循環外的,即要么在循環結束前就返回了一個i,要不循環完后沒有滿足條件返回-1,例題返回的index ,是在循環里的,所以我們要先給獻給index賦值,break的作用是跳出這個循環,如果不要break那么返回的永遠是-1,而用break即如果存在arr【i】=value,就給index賦值為i,也不需要在檢錄其它的了

4 回復 有任何疑惑可以回復我~
#1

慕數據8950116

那要是數組里有兩個都等于給出的數呢,這不是只能得到一個了?
2019-03-29 回復 有任何疑惑可以回復我~
#2

gadada 回復 慕數據8950116

這個函數本身只有一個返回值,只是確定是否能找到
2019-03-31 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C語言入門
  • 參與學習       926916    人
  • 解答問題       21533    個

C語言入門視頻教程,帶你進入編程世界的必修課-C語言

進入課程

用與不用break的區別

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號