2015-10-13 3 views
1

Я пытаюсь изменить в верхнем регистре нижний регистр в предложении, представленном char *. Я получаю сообщение об ошибке: нарушение прав доступа при разыменовании указателя.Отказ от указателя на диаграмму

// Uppercase to lowercase 
char *str = "My sentence"; 
*str = 'm'; 

ответ

0

Причина в том, что вы использовали неправильный формат для определения строки. Вы хотите:

char str[] = "My Sentence"; 
*str = 'm'; 

То, что вы написали определяет указатель, а затем присваивает «Мой Приговоренный» на указатель в качестве адреса памяти. Вы получаете нарушение доступа, потому что у вас нет памяти в «My Sente», которая, скорее всего, относится к адресу, на который делается ссылка.

Смежные вопросы