Java提高linux内核学习

差一错误的简单解决

2017-09-23  本文已影响0人  joejoeu

在编程的过程中有一种经常会出现的错误叫做“差一错误”,指的是在循环的过程中多循环了一次或者少循环了一次。

这种错误经常会让我们犯糊涂,有的人会通过测试来调整这种错误,但是不是每次都有测试的条件的,今天就介绍一种比较可行的判断循环到底循环多少次的方法,用的就是中学所学的数学归纳法。

判断下面这个循环体到底执行了多少次?(假定n<=m)

for (int i = n; i < m; i++) {...}

首先来看初始情况当m == n的时候循环体很显然执行了0次,所以我们可以预测循环体执行了m-n次

假设循环体执行了m-n次
当m==n的时候假设成立

我们需要证明当m' = m+1时假设同样成立,很显然当m' = m+1时循环比m时多执行了一次,即循环执行了(m+1)-n次,证明完毕。


其它的比如do while和while也可以用相同的方法证明。

上一篇 下一篇

猜你喜欢

热点阅读