您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

满足动态条件时退出递归函数

满足动态条件时退出递归函数

要以最简单的形式显示,您可以执行以下操作:

void foo(bool & ret) {
  // doStuff...
  if (ret) return;
  foo(ret);
  // doStuff...
  if (ret) return;
  foo(ret);
}

然后,您启动递归:

bool ret = false;
foo(ret);

在您的情况下,您可以通过以下方式中断递归

if (!changesLeft) {
  printf("%s\n", str);
  ret = true;
  return;
}

设置为true将使您脱离整个调用树。

您也可以在C语言中完成操作,只需使用指针而不是引用即可。

其他 2022/1/1 18:19:55 有453人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶