title: Char* p, and scanf
body: <p>I have been trying to look for a reason why the following code is failing, and I couldn't find one.
  So please, excuse my ignorance and let me know what's happening here.</p>
  
  <pre><code>#include&lt;stdio.h&gt;
  int main(void){
  char* p="Hi, this is not going to work";
  scanf("%s",p);
  return 0;
  }
  </code></pre>
  
  <p>As far as I understood, I created a pointer p to a contiguous area in the memory of the size 29 + 1(for the \0).
  Why can't I use scanf to change the contents of that? </p>
  
  <p>P.S Please correct me If I said something wrong about char*.</p>