for(i=0;i<5;i++) { /* 请完善数组查询功能 */ if(arr[i]==value) { index=i; break; } else{ index=-1; } 我想问一下,在这个循环里每次都要输出一个index,那样在前面就会有若干个-1的值,等到需要的出现,前面不是已经出来还几个index的值了吗?谢谢大家了
题主没看清楚代码哦,if语句中如果不满足条件的话,下面的代码块就不执行,而是直接返回到for循环中继续,所以不存在输出若干-1值的情况。
只有当if语句中所有条件都不满足并且for循环结束之后才会输出-1值;但是只要其中某一个i的值满足if语句,那for循环就立即结束,然后返回index,所以也不存在覆盖的情况。
好的,谢谢
因为是把-1赋值给index,当相等的时候再把i赋值给index,结束时才返回index。所以前面出来的-1给覆盖了