title: C function with no parameters behavior
body: <p>Can somebody explain to me why the following code does compile without a warning or error?</p>
  
  <p>I would expect the compiler to warn me that the function <code>no_args</code> doesn't expect any arguments.</p>
  
  <p>But the code compiles and runs function <code>no_args</code> recursively.</p>
  
  <pre><code>static void has_args(int a, int b, int c) { 
      printf("has_args\n");
  }
  
  static void no_args() {
      printf("no_args\n");
      no_args(1, 2, 3);
  }
  
  void main() {
    no_args();
  }
  </code></pre>