title: excess @ in printing array elements in c
body: <p>I've written a c program to recursively reverse a 10 char array:</p>
  
  <pre><code>#include&lt;stdio.h&gt;
  void rev(char *, char *);
  int a = 0;
  void main()
  {
      char in[10], out[10];
      scanf("%s", in);
      rev(in, out);
      printf("in  is:%s\n", in);
      printf("out is:%s\n", out);
      for(a = 0; a &lt; 10; a++)
      {
          printf("out[%d] is:%c\n", a, out[a]);
      }
  }
  void rev(char *in, char *out)
  {
      if(a &lt; 10)
      {
          a++;
          rev(in, out);
          out[9 - (--a)] = in[a];
      }
  }
  </code></pre>
  
  <p>but it returns an @ at the end of array when I print the whole array while when I print array elements one by one, it doesn't exists.
  please tell me what it is?</p>