請(qǐng)問(wèn),這里的 break 有什么作用,必須要嗎?為什么沒(méi)有了之后是 運(yùn)行成功,輸入錯(cuò)誤
#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)
? ? ? ?{
? ? ? ? ? return i;?
? ? ? ? ? index=i;
? ? ? ? ? break;
? ? ? ?}? ? ? ?
? ? ? ?index=-1;?
? ? ? ?
? ? ? ?
? ? ? ?
? ? }
? ? return index;
}
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;? ??
}
2019-09-06
break有大作用的。每次for循環(huán)后 index均會(huì)被賦值一次,如果不加break,index在達(dá)到條件后繼續(xù)被賦值,就會(huì)變成-1,導(dǎo)致運(yùn)行結(jié)果出現(xiàn)錯(cuò)誤。所以必須在 arr[i]=value的時(shí)候結(jié)束該for循環(huán)。
2019-08-22
我把break給去掉也是正常輸出的,break在之前的課程中有講。這這節(jié)課的代碼中,break的作用是如果在for循環(huán)中查詢到所查詢的值就跳出這個(gè)循環(huán),循環(huán)不在進(jìn)行下去。