if(arr[i]==value)
{
index=i;
break;
}
例题中,直接if语句返回i,或者循环结束返回-1,故最后显示的下标是数组中第一个出现的8的下标(如果数组有好几个8的话)
作业中,if语句中未直接返回i,而是赋值给index,else同样赋值给index,最后返回index,在main中将返回的index赋给index(如果只是找一个下标的话我觉得这样写有点多此一举)。if中如果有break,即第一个满足if条件的下标给index,然后退出循环,故最终显示的就是第一个8的下标;如果没有break,那么循环执行完整,下一个满足条件的下标覆盖上一个满足条件的下标赋给index,那么如果数组出现多个8,输出的就是最后一个8的下标。
又不是循环干嘛用break