关于数组漏判
判断数组内所有元素,并删除满足条件的元素.
Eg:我们需要把数组arr内大于3的元素删除掉,那么我们写了如下代码:
该代码的执行结果如下所示
,
会发现内容与预期不符,是因为指针与元素的相对位置导致的漏判产生的.
对代码进行如下修改(增加一行i--;)
添加了i--;之后,那么才是我们需要的结果.
i--;所做的是改变了指针的位置,对每一个元素都进行了判断.
内容位置变化之后,指针位置也应该相应变化,那么就能避免漏判.
大家可以发现将今天老师所写的代码中的i--;注释掉之后,代码的运行在肉眼上观察并没有什么区别,那是因为计时器每10ms执行一次,所以里面的for循环也是10ms执行一次,那么所漏判的的对象,将会在下一次执行for循环时删除,然而这一切发生的时间太快,所以肉眼观测不出区别.
本文是针对今天老师所讲的判断边界的for循环内,大家对i--;的理解问题所写,个人见解,仅供参考.