Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Хостинг Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг на Windows 2008

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 1127
от 09.10.2008, 07:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 420, Экспертов: 41
В номере:Вопросов: 1, Ответов: 2

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 145931: Здравствуйте, уважаемые эксперты! Впроцессе выполнгения программы в приложении, ни с того ни с сего переменные обнуляются. От чего такое может случаться? Компилятор Borland C 3.1 Спасибо...

Вопрос № 145.931
Здравствуйте, уважаемые эксперты!
Впроцессе выполнгения программы в приложении, ни с того ни с сего переменные обнуляются. От чего такое может случаться?
Компилятор Borland C 3.1
Спасибо

Приложение:

Отправлен: 04.10.2008, 06:55
Вопрос задал: LexXx (статус: Практикант)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Boriss
Здравствуйте, LexXx!
Ну-таки это естественно.
Хотите фокус: поставьте массив а последним и эффект исчезнет .
Или по-другому, присваивайте значение 2345 - и именно это значение приобретут Ваши многострадальные переменные.
Дело в том, что в любом С нумерация элементов начинается с нуля, а Вы пробегаете при чтении значения j=1 ... 10.
То есть, присваиваете 10 значений УЖЕ 11-му "ряда" массива!!
А где он располагается? Конечно же за "концом" массива, то там, где Вы определили остальные элементы ...
С разрешает выходить за пределы массива в любую сторону
---------
Вывод - то место в тексте, где вы устали думать
Ответ отправил: Boriss (статус: Профессор)
Россия, Саранск
Организация: Мордовский госуниверситет, Саранск, Факультет Электронной Техники
WWW: Программирование на Паскале
----
Ответ отправлен: 04.10.2008, 09:11
Оценка за ответ: 5
Комментарий оценки:
Получается, что по-идее, я вышел за "границу массива" на один элемент. Тогда почему же обнуляются сразу 2 две? =)

Отвечает: Макс Коваленко Юрьевич
Здравствуйте, LexXx!
Индексация массивов НАЧИНЕТСЯ С 0
А не с 1 как в вашем случае.
for (j=0;j<n;j++) for (i=0; i<r; i++)
попробуйте так. должно помочь.
Ответ отправил: Макс Коваленко Юрьевич (статус: 1-ый класс)
Ответ отправлен: 04.10.2008, 20:24
Оценка за ответ: 4
Комментарий оценки:
Спасибо, я понял


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале

∙ Версия системы: 5.4 от 07.10.2008

Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное