title: reverse a word using recursion
body: <p>I am trying to reverse a word using recursion in <code>c</code> and i got upto this.</p>
  
  <pre><code>#include&lt;stdio.h&gt;
  
  void reverse(char *a){
      if(*a){
          reverse(a+1);
          printf("%c",*a);
      }
  }
  
  int main() {
      char a[] = "i like this program very much";
      reverse(a); // i ekil siht margorp yrev 
      return 0;
  }
  </code></pre>
  
  <p>Suppose the input string is <code>i like this program very much</code>. The function should change the string to <code>much very program this like i</code></p>
  
  <pre><code>Algorithm:
  
  1) Reverse the individual words, we get the below string.
       "i ekil siht margorp yrev hcum"
  2) Reverse the whole string from start to end and you get the desired output.
       "much very program this like i"
  </code></pre>
  
  <p>I have successfully completed up-to step 1 and i am not sure how to proceed further. Please help.</p>