0 / 0 / 0
Регистрация: 04.04.2016
Сообщений: 6
|
||||||
1 | ||||||
Необработанное исключение по адресу при вводе даты04.04.2016, 18:52. Просмотров 1320. Ответов 8
Метки нет Все метки)
(
имеется код
Пусть формат ввода даты с экрана имеет вод: 5 Septemba 2005 Как следует модифицировать приведенную выше программу для ввода даты? у моего соседа по комнате данный код работает, у меня же приходится добавлять "_s" чтобы он хотябы запускался все идет до тех пор пока я не ввожу "Septemba" то есть пока не забиваю масив. далее происходит следующее ошибок в обычном коде не выдает, но ссылается на ассемблер
0
|
|
04.04.2016, 18:52 | |
Необработанное исключение по адресу, нарушение прав доступа при записи по адресу Исправить ошибку: необработанное исключение по адресу, нарушение прав доступа при записи по адресу Необработанное исключение по адресу 0x00105FD7 в Динамические структуры: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCDCDCE09 Необработанное исключение по адресу 0x00ED4891 в strings.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCCCCCCCC |
|
1932 / 1761 / 822
Регистрация: 23.01.2014
Сообщений: 6,205
|
|
04.04.2016, 21:48 | 2 |
Возьмите у соседа по комнате нормальную среду для программирования с его компиляторами)
0
|
125 / 125 / 59
Регистрация: 22.01.2014
Сообщений: 460
|
|||||||||||
04.04.2016, 22:02 | 3 | ||||||||||
![]() Решение
Дело в том, что у вам массив символов, имя(month) которого на языке C можно рассматривать как указатель на первый элемент массива.
При передачи в функцию, именно это и работает, передается как указатель. Поэтому не стоит дополнительно брать указатель на указатель на первый элемент массива. Поэтому правильно так:
0
|
1 / 2 / 4
Регистрация: 22.09.2015
Сообщений: 12
|
||||||
04.04.2016, 23:26 | 4 | |||||
0
|
0 / 0 / 0
Регистрация: 04.04.2016
Сообщений: 6
|
|
05.04.2016, 00:28 [ТС] | 5 |
первый вариант уже перепробовал нет никаких изменений, второй проверил, так же без изменений
Добавлено через 48 секунд целевую функцию надо оставить Добавлено через 5 минут так вот оба способа испробованны а результат тотже, все таже ошибка и отправление к языку на ассемблере Добавлено через 1 минуту дело в том что мне охота разобраться, а иначе в чем смысл) Добавлено через 8 минут надо решить именно через этот способ
0
|
13712 / 7335 / 1751
Регистрация: 30.01.2014
Сообщений: 12,306
|
||||||
05.04.2016, 08:41 | 6 | |||||
![]() Решение
FokycHuk, читаем здесь: https://msdn.microsoft.com/en-... 768et.aspx
0
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
|
05.04.2016, 09:41 | 7 |
=) Это новый язык, как английский только ещё хуже..
+ к предыдущим постам, и разширь char массив, т.к. скорее всего ещё и мало места, т.к. если ты вводиш реальное слово "September", то это 9 символов +1 символ для \0, а если ты ошибаешся с вводом на 1 элемент, то вылетает, брать надо с запасом, а у тебя запаса нет.
0
|
0 / 0 / 0
Регистрация: 04.04.2016
Сообщений: 6
|
|
05.04.2016, 15:44 [ТС] | 8 |
спасибо, возврат размера помог, но всеже остался один вопрос в чем же тогда отличия почему мне пришлось писать именно так и соседу, именно с тем же кодом это не понадобилось? (у него VS 2010 у меня VS 2012 )
0
|
13712 / 7335 / 1751
Регистрация: 30.01.2014
Сообщений: 12,306
|
|
05.04.2016, 16:36 | 9 |
Ему "повезло".
Если у него был именно такой код (со scanf_s и без указания размера), то он у него точно так же некорректен, как был у тебя. Ошибка совсем необязатально должна выражаться в падении программы. Ты поймешь это на своей шкуре, если будешь потом работать программистом. В общем, ссылку я выше дал, там все написано. И про отличия scanf от scanf_s, и зачем они нужны, и как правильно ими пользоваться. Если правда хочешь разобраться - читай, вникай.
0
|
05.04.2016, 16:36 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь. Необработанное исключение по адресу 0x001B3371 в XXX.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xFDF
Необработанное исключение по адресу (msvcp110d.dll): нарушение прав досупа при записи Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |