一个搜索的部分代码,output函数不运行是怎么回事?
求解
void output(){
printf("--");
char sx[10000002];
int i=1,lenx=l.size();
while(!l.empty()){
int x=l.top();
sx[i]=op[x];
cout<<sx[i];
i++;
l.pop();
}
for(int i=1;i<=lenx;i++){
cout<<sx[i];
}
exit(0);
}
void dfs(int nowx,int nowy,int tot){
printf("x=%d,y=%d,tot=%d ",nowx,nowy,tot);
if(tot==step) {
if(nowx==xt&&nowy==yt) output();
else return;
}
for(int i=1;i<=4;i++){
int nx=nowx+tx[i],ny=nowy+ty[i];
if(!f[nx][ny]&&nx>0&&nx<=n&&ny>0&&ny<=m){
l.push(i);
f[nx][ny]=true;
dfs(nx,ny,tot+1);
f[nx][ny]=false;
l.pop();
}
}
return;
}