title: First function call assigning a variable. Implicit declaration?
body: <p>Consider,</p>
  
  <pre><code>    #include&lt;stdio.h&gt;
      int main()
      {
      int y = facto(6);
      printf("%d",y);
      return 0;
      }
  
      int facto(int x)
      {
      if(x==1)
        return 1;
      else 
        return x*facto(x-1);
      }
  </code></pre>
  
  <p>I read in some posts which said that calling a function before it is defined is an implicit declaration. How is this statement overhere ("y = facto(6)"), an implicit declaration ?</p>
  
  <p>Using GCC 4.8.1 on Ubuntu 64 bit.</p>