为什么以下循环被认为是无限循环?
for(int i=0;;i++) { // }
后i
达到最大值2147483647,然后当它增加后,程序应该显示一个错误,指出"整型数过大"或类似的东西.因此,程序应该终止.尽管达到该值需要一些时间,但它肯定不是无限的.那为什么它是无限循环?
这个答案适用于Java.自从我在C#或C++工作以来已经有一段时间了.
不,当整数增加超过其最大值时,它会溢出到其最小值.在这种情况下没有抛出异常,所以循环可以永远继续,因为没有条件来结束循环(除非循环体内有一些break语句).