title: Returns in Recursive Function in C++
body: <p>I'm a little confused here. Let's look at the following code:</p>
  
  <pre><code>bool testing(int i) {
  
      if((i%2)==0) {
          return true;
      } else {
          --i;
          testing(i);
      }
      return false;
  }
  </code></pre>
  
  <p>When I do <code>testing(5)</code>, I was expecting the function to return true because at some point, <code>5</code> will become <code>4</code>, so <code>4 % 2 == 0</code>, so the function will return <code>true</code> but it just wasn't the case. What's wrong?</p>