Stanislav Petrov Asked:2020-05-22 19:34:26 +0000 UTC2020-05-22 19:34:26 +0000 UTC 2020-05-22 19:34:26 +0000 UTC 如果递归函数没有 return 语句,它会返回什么? 772 如果递归函数在单独的子句中没有 return 语句,它会返回什么。 int Recur(int i = 0) { if (i != 3) return Recur(++i); } c++ 1 个回答 Voted Best Answer user7860670 2020-05-22T19:51:56Z2020-05-22T19:51:56Z 如果返回类型不是 的函数void,除了main,没有表达式结束return,则未定义行为结果: 9.6.3 返回语句[stmt.return] 从构造函数、析构函数或具有 cvvoid返回类型的函数的末尾流出等效于return没有操作数的 a。否则,从 (6.6.1) 以外的函数末尾流出main会导致未定义的行为。 故意制造的例外main。即使不存在,此函数也可能隐式返回 0,return 0;或者如果平台需要,则忽略显式返回值。
如果返回类型不是 的函数
void,除了main,没有表达式结束return,则未定义行为结果:故意制造的例外
main。即使不存在,此函数也可能隐式返回 0,return 0;或者如果平台需要,则忽略显式返回值。