title: C: format '%s' expects argument of type 'char*', but argument 2 has type 'char**'
body: <p>I try to type simple 2D array of string take strings from user and print it</p>
  
  <pre><code>void in(char* n[3][2]);
  void show_name ()
  {
      char* n[3][2];
      in(n);
      unsigned int i,j;
      for(i=0;i&lt;3;i++)
      {
          for(j=0;j&lt;2;j++)
              printf("%s ", &amp;n[i][j]);
          printf("\n");
      }
  }
  
  int main(void)
  {
      show_name();
      return 0;
  }
  void in(char* n[3][2])
  {
  
     int i,j;
      for(i=0;i&lt;3;i++)
          for(j=0;j&lt;2;j++)
              scanf("%s",&amp;n[i][j]);
  
      printf("\n");
  }
  </code></pre>
  
  <p>it works correctly but i have warning say:</p>
  
  <blockquote>
    <p>warning: format '%s' expects argument of type 'char*', but argument 2
    has type 'char**' [-Wformat]|</p>
  </blockquote>
  
  <p>I searched for reason i found that the problem in <code>%s</code> doesn't need for address 
  when i remove <code>&amp;</code> operator there`s no warning but code doesn't run correctly</p>