title: How printf works in case of type mismatch with type specifier?
body: <pre><code>int main()
  {
  printf("%c", "\n");
  
  return 0;
  }
  </code></pre>
  
  <p>Here according to type specifier a character is required. But we are passing it <code>const char *</code>. I was hoping that it would give me a warning message in code blocks GNU GCC compiler but it is not giving me any warning and printing the <code>$</code> character.</p>
  
  <p>why it is not giving any type of warning?</p>