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

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循环中会错


正在回答

2 回答

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

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

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


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

举报

0/150
提交
取消

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循环中会错 ​

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信