你是不是写了
for(int i=0;i<n;++i){
    if(...)
        f[i]=.....
        break;
}

这样的?
那就属于自己把自己作死了。

没事多加点括号不会死的。