Recursive implementation of strcat function in C
<p>I was going through the <a href="http://www.geeksforgeeks.org/write-one-line-functions-for-strcat-and-strcmp/" rel="nofollow">implementation</a>! of <b>strcat</b> function in C.
I am unable to understand how they have used the <b>recursion</b> along with <b>pointers</b>.</p>

<p><em>Below is the code Snippet from that source.</em><br></p>

<pre><code>char dest[100] = "I love";
char *src = "food";`

/* my_strcat(dest, src) copies data of src to dest. */
void my_strcat(char *dest, char *src)
{
  (*dest)? my_strcat(++dest, src): (*dest++ = *src++)? my_strcat(dest, src): 0 ;
}
</code></pre>