循环中哪个是首选条件?

yes*_*aaj 7 loops conditional-statements

int n = 5;
for(int i = 0;i!=n;i++)//condition !=
{
//executing 5times
}

int n = 5;
for(int i = 0;i<n;i++)//condition <
{
//executing 5times

}
Run Code Online (Sandbox Code Playgroud)

哪一个更受欢迎?

这是"加速C++:实例编程实例/ Andrew Koenig,Barbara E. Moo"的例子.只是想知道为什么作者更喜欢第一个

Cru*_*han 14

第二.有两个原因

  1. 小于(或有时<=)是大多数编码人员写这些的常用方法,如果可能的话,最好坚持惯例 - !=可能会使大多数编码员看起来两次以检查循环中是否有奇怪的东西,而<将立即被理解.

  2. !=取决于确切的条件.如果循环内部在维护期间被修改并且我意外地在循环内增加,那么最终会出现无限循环.通常情况下,最好使终止条件尽可能宽 - 它更加稳健.

2当然是1的原因.