要以最简单的形式显示,您可以执行以下操作:
void foo(bool & ret) { // doStuff... if (ret) return; foo(ret); // doStuff... if (ret) return; foo(ret);}然后,您启动递归:
bool ret = false;foo(ret);
在您的情况下,您可以通过以下方式中断递归
if (!changesLeft) { printf("%sn", str); ret = true; return;}设置为true将使您脱离整个调用树。
您也可以在C语言中完成操作,只需使用指针而不是引用即可。



