死循环出现是因为while语句下的“fitin=1;”,且if后括号有问题,应为if(ms(newin)分析死循环,以首次循环为例:fitin=1;newin=1;进入if语句后,如果ms(1)>fitvalue(1),则执行“fitin=fitin+1;”fitin=2,if语句结束后重新进入while语句,而此时却又执行“fitin=1;”,致使再次进入if语句判断结果为“ms(1)>fitvalue(1)”,如此程序进入死循环。