for c ++中的循环,这两种风格有什么区别?

时间:2015-08-21 12:51:05

标签: c++

第一种方式:for (int i=0;i<10000;++i){...}

第二种方式:for (int i=0;i!=10000;++i){...}

让我们说{}中发生的事情不会影响i的价值,这两种风格有什么区别?因为我已经用编译器检查过它们都得到了相同的结果。

3 个答案:

答案 0 :(得分:4)

鉴于这个特殊问题,没有区别。但是,一般来说,第一种风格是首选,因为它稍微安全一些。

想想如果i成为10,001之类的话会发生什么?在第一种风格中,循环将终止。而在第二种风格中,你会得到一个无限循环。

如果您坚持使用第一种风格,您还可以将i增加到不超过10000的任何值,并且仍然可以保证循环终止。

答案 1 :(得分:0)

在这种情况下没有区别。常用的&#39;&lt;&#39;叹息只是出于安全目的。如果您使用float而不是int,或者在循环内修改了i的值,以便它可以跳过检查它的值。 作为默认选择,首选&#39;&lt;&#39; over&#39;!=&#39;除非&#39;!=&#39;确实需要像指针比较一样。

答案 2 :(得分:0)

如果你也在循环中操纵i,那么10000在任何时间点都有可能不等于i第二种风格,它可能会变成无限循环。

在第一种样式中,即使i的值在循环内为任何条件递增,循环肯定会在某个时间点终止。

编辑:即使www.mypage.com?my_javascript_var=12345 的值不会在循环内修改,如果你认为这只是两种方法做同样的事情,作为一个程序员你必须选择第一个样式,因为它有由于显而易见的原因,意思,可读性和稍微安全。