#include <iostream>
using namespace std;

int recur(int x) {
    1 and recur(--x);
    cout << x;
    return x;
}

int main() {
    recur(10);
    return 0;
}

最佳答案

1 and recur(--x);

相当于
recur(--x);

显然,您正在进行无限递归调用,这将导致堆栈溢出,然后导致分段错误。

我想你是说
  x and recur(--x);

仅当x为非零时才进行递归调用。

10-05 21:38