title: Why does value change in string literal
body: <pre><code>main()
  {
    char *c="abhishek";
    int i;
    c[2]=90;
    for(i=0;i&lt;12;i++)
    {
      printf("%c",c[0])
    }
  }
  </code></pre>
  
  <p>Here the output is <code>abZishek</code>. But this should result in a bus error because this is a string literal and we can not change its value. Why does the value of <code>c</code> change?</p>