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

为什么例题中没用break;而作业中要用?

 if(arr[i]==value)
{
	index=i;
	break;
}

提问者:爷笑里藏刀 2015-11-04 17:45

个回答

  • Viscera
    2015-11-20 17:43:03

    例题中,直接if语句返回i,或者循环结束返回-1,故最后显示的下标是数组中第一个出现的8的下标(如果数组有好几个8的话)

    作业中,if语句中未直接返回i,而是赋值给index,else同样赋值给index,最后返回index,在main中将返回的index赋给index(如果只是找一个下标的话我觉得这样写有点多此一举)。if中如果有break,即第一个满足if条件的下标给index,然后退出循环,故最终显示的就是第一个8的下标;如果没有break,那么循环执行完整,下一个满足条件的下标覆盖上一个满足条件的下标赋给index,那么如果数组出现多个8,输出的就是最后一个8的下标。

  • qq_酷比_0
    2015-11-09 13:43:54

    又不是循环干嘛用break