title: Recursion algorithm
body: <p>I am always confused when I write a recursion program even a small one.</p>
  
  <pre><code>#include &lt;iostream&gt;
  using namespace std;
  
  int recursion(int x)
  {
      if(x == 0)
          return 0;
  
      return (x + recursion(x-1));  //recursive function call should always be in the                                        return statement?
  }
  
  int main()
  {
      cout&lt;&lt;"SUM:"&lt;&lt;recursion(9);
  }
  </code></pre>
  
  <p>Is there any another way by which recursive function call does not be in the return statement</p>