title: Reverse a string word by word
body: <p>I am able to reverse a string. For example, I can reverse "reverse a string" to "esrever a gnirts". But I am not able to reverse it word by word like "string a reverse".</p>
  
  <pre><code>void reverseString(char string[],char *start, char* end)
  {
  
      char tmp; //temporary variable to swap values
      int count = 0;
      while(start&lt;end)
      {
          if(*start==' ')
          {
              printf("found space count %d \n",count);
              reverseString(string,start-count,start);
          }
          tmp = *start;
          *start = *end;
          *end = tmp;
          *start++;
          *end--;
          count++; 
      }
  
      printf(" string %s \n", string); 
  }
  
  int main()
  {
      char string[] = "reverse a string word by word";
      char *start =string;
      char *end =start+ strlen(string) -1;
      reverseString(string,start,end);
      return 0;
  }
  </code></pre>