這里為什么要加break;
#include <stdio.h>
int getIndex(int arr[5],int value)
{
??? int i;
??? int index;
??? for(i=0;i<5;i++)
??? {
?????? /* 請(qǐng)完善數(shù)組查詢功能 */
?????? 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);????? //這里應(yīng)該傳什么參數(shù)呢?
??? if(index!=-1)
??? {
??????? printf("%d在數(shù)組中存在,下標(biāo)為:%d\n",value,index);????????????
??? }
??? else
??? {
??????? printf("%d在數(shù)組中不存在。\n",value);???
??? }
??? return 0;???
}
符合條件返回之后,不是函數(shù)就得出結(jié)果不用循環(huán)了嗎?為什么還要加break;
2019-05-07
函數(shù)有且只能返回一個(gè)返回值 所以執(zhí)行到第一個(gè)return就返回 不會(huì)執(zhí)行第二個(gè)return
2019-05-07
???? if(arr[i]==value)
????? {
???????? index=i;
???????? break;
????? } ? ?
??? }
??? return -1;
}
如果我這樣執(zhí)行的 無論何時(shí)都是返回-1,在此 break只是終止循環(huán) 并不返回一個(gè)值? 往下運(yùn)行才能返回一個(gè)-1
而你的是先返回一個(gè)index 再終止循環(huán)
2019-05-07
如果你不加break 就跳出循環(huán)執(zhí)行return-1;如果符合條件先執(zhí)行return index? 再終止運(yùn)行 不往下運(yùn)行則返回的值是index