Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.06.2009, 22:06   #1
andRR
Новичок
Джуниор
 
Регистрация: 14.06.2009
Сообщений: 13
По умолчанию кто знает почему не работает код

char *s="qwertyuiop";
s[3]='p';

компилируется ок но при загрузке выдает ошибку- write to protected memory

Последний раз редактировалось andRR; 14.06.2009 в 22:10.
andRR вне форума Ответить с цитированием
Старый 14.06.2009, 22:07   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Объявление c вижу. Кто такой s?
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 14.06.2009, 22:09   #3
andRR
Новичок
Джуниор
 
Регистрация: 14.06.2009
Сообщений: 13
По умолчанию исправлено

char *s="qwertyuiop";
s[5]='y';
andRR вне форума Ответить с цитированием
Старый 14.06.2009, 22:12   #4
ISergeyN
Maniac
Форумчанин
 
Аватар для ISergeyN
 
Регистрация: 03.01.2009
Сообщений: 450
По умолчанию

Код:
char *s="qwertyuiop";
это костанта, тоесть модификацыя запрещена!
нужно так
Код:
char s[] ="qwertyuiop";
s[3]='p';
Стандартные библиотеки разработаны с учетом многолетнего опыта лучших программистов и они не больны "детскими болезнями крутизны в программизме"....
ISergeyN вне форума Ответить с цитированием
Старый 14.06.2009, 22:13   #5
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

s объявляется как константная строка. Ее нельзя изменить.
Пишите так:
Код:
char s[]="qwertyuiop";
ps опоздал..)
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 14.06.2009, 22:16   #6
andRR
Новичок
Джуниор
 
Регистрация: 14.06.2009
Сообщений: 13
По умолчанию jndtn

но ведь указатель объявлен как переменная ! и перед ним не стоит const!!!!
andRR вне форума Ответить с цитированием
Старый 14.06.2009, 22:24   #7
ISergeyN
Maniac
Форумчанин
 
Аватар для ISergeyN
 
Регистрация: 03.01.2009
Сообщений: 450
По умолчанию

Ваш указатель указывает на константную строку!
Стандартные библиотеки разработаны с учетом многолетнего опыта лучших программистов и они не больны "детскими болезнями крутизны в программизме"....
ISergeyN вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Java Script - объясните почему не работает код. fidger JavaScript, Ajax 0 10.05.2009 18:01
Почему не работает код? Kashp Общие вопросы Delphi 3 09.08.2007 17:33