问答详情
源自:6-6 数组的应用(二)

int GetIndex(int arr[],int value) { int i; for(i=0;i<5;i++) { if(arr[i] == value) return i; else return -1; } return -1; } 为什么把return -1;放在for循环中会错 ​

int GetIndex(int arr[],int value)

{

int i;

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

{

if(arr[i] == value)

return i;

else

return -1;

}

return -1;

}

为什么把return -1;放在for循环中会错


提问者:奇点132 2019-05-29 17:36

个回答

  • 慕斯4423390
    2019-06-10 15:47:22

    没有break时,会将arr【】中所有的数都确认一遍,8不是最后一个,所以在下一次比较中还是会返回-1,将返回的i覆盖。

  • qq_小苏_lpxFXZ
    2019-05-30 11:19:37

    我逐语句测试了一下,你这个程序,arr[]数组从0到4都比较过了,但你最后返回的是循坏外部的return -1;在循坏内部,你找到i后应该跳出循坏,而不是再继续寻找了。你是需要通过外部的return来返回值到主函数的。