for(int i=0;i!=100;i++)和for(int i=0;i<100;i++)是编程中常用的两个语句,这两个语句看似作用类似但实际上在使用中却容易产生很多意想不到的问题
入下例:
这段代码是用归并排序算法对数组进行排序,在MERGE函数中有三个for语句,如果使用!=和使用<=会尝试完全不同的结果,<=表示越界条件和!=是不一样的,但是在使用中却容易混淆,实际上for(int i=0;i!=n1+1;i++)是和for(i=1;i<=n1;i++)一样的输出结果,另外一个容易混淆的地方就是比如在代码中
这种情况,容易会产生死循环,因为j每次增加2,有可能会跳过j==n2的情况,直接死循环