title: Why there is no error when passing command line arguments when declaring main as `int main(void)`?
body: <p><strong>Case 1:</strong></p>
  
  <pre><code>void hello(void) {
      //something
  }
  
  int main()
  {
      hello(1); //error
      return 0;
  }
  </code></pre>
  
  <p><strong>Case 2:</strong></p>
  
  <pre><code>int main(void) {
      //something
      return 0;
  }
  </code></pre>
  
  <p><strong>Execution:</strong></p>
  
  <pre><code>./a.out something something //No error, Why?
  </code></pre>
  
  <p>Why there is no error? <code>main</code> will not be able to take any arguments. So why it is possible to provide arguments from the command line?</p>