else if(min >= max) //为什么这里如果是else if就会进入无限循环?
else if 不是单独的if语句判断,他受其他if或者else if判断的影响。
假设一个if 后边还有一个else if ,如果if语句判断成立,程序就不会执行else if 中的判断里边的代码块。
你的程序判断的时候没有考虑到min与mid还有max与mid之间的大小添加到前几个判断语句中,导致程序永远执行不到最后的else if ,所以就产生了死循环。
你看看我帮你该的程序,判断条件如果完整了就不会导致无法执行最后一个else if 语句了。
当然,你也可以讲else if 语句拆分成独立的判断语句,这样的话就能执行到了。