title: Swapping two string pointers
body: <p>i have to char[] in C and i wanted to swap between them, by only swaping the pointer
  to the array and not one char at a time so i wrote this code:</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  void fastSwap (char **i, char **d)
  {
      char *t = *d;
      *d = *i;
      *i = t;
  }
  int main ()
  {
      char num1[] = "012345678910";
      char num2[] = "abcdefghujk";
      fastSwap ((char**)&amp;num1,(char**)&amp;num2);
      printf ("%s\n",num1);
      printf ("%s\n",num2);
      return 0;
  }
  </code></pre>
  
  <p>I get this output (note the last 4 characters)</p>
  
  <pre>
  abcdefgh8910
  01234567ujk
  </pre>
  
  <p>When I expect:</p>
  
  <pre>
  abcdefghujk
  012345678910
  </pre>
  
  <p>NOTE: I am working on a 64 bit Linux System.</p>