注意:你所提的问题,这两个代码的差异是,judge函数执行了两次,
影响:你是有一个flag全局变量的,这个函数每次调用,最这个全局变量是有变化的!!!
//你可以把注释改为只执行一次这个函数试试
int t = -1;
if((t = judge(i, 0))<ans)
{
ans = t; //judge(i, 0) 这个函数执行前你每次有对flag的清空操作啊!!!
}
ajust函数算了两次,你的本意是取出ajust函数的值,判断,然后决定是否赋值,不应该再算一次,有可能值不一样