str = "abcd";
str[0] = 'r';
Попытка изменить строковый литерал.Официально это неопределенное поведение.Однако в большинстве современных систем память, содержащая строковые литералы, будет помечена только для чтения, поэтому попытка их изменения приведет к ошибке.