This is not an array of characters. This is a pointer to a char initialized by a string constant. String constants cannot be changed, but if you create an array of characters, not a char pointer, it will work. eg.
char str[] = "blah"; str[2] = '3';
source share