在C++中的递归函数中返回

New*_*bie -1 c++ recursion

我在这里有点困惑.我们来看看以下代码:

bool testing(int i) {

    if((i%2)==0) {
        return true;
    } else {
        --i;
        testing(i);
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

当我这样做时testing(5),我希望函数返回true,因为在某些时候,函数将会5变为4,所以4 % 2 == 0函数将返回,true但事实并非如此.怎么了?

Kan*_* Li 5

你应该return testing(i);而不仅仅是testing(i);