1 / 1 / 0
Регистрация: 21.12.2014
Сообщений: 67
|
||||||
1 | ||||||
Сборка и отладчик дают разный результат23.12.2015, 16:54. Показов 1289. Ответов 15
Метки нет (Все метки)
Нужно было написать программу для вывода всех минимальных по длине слов в строке. Как такое возможно?
0
|
23.12.2015, 16:54 | |
Ответы с готовыми решениями:
15
Метод хорд и дихотомии дают разный результат с хабра и мой код дают разный результат. why FileStream и StreamReader дают разный результат Одинаковые вызовы одной и той же функции дают разный результат, почему так? |
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
23.12.2015, 17:06 | 2 |
Код содержит UB.
0
|
1 / 1 / 0
Регистрация: 21.12.2014
Сообщений: 67
|
|
23.12.2015, 17:18 [ТС] | 3 |
Объясни пожалуйста
0
|
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
23.12.2015, 17:19 | 4 |
0
|
1 / 1 / 0
Регистрация: 21.12.2014
Сообщений: 67
|
||||||
23.12.2015, 17:22 [ТС] | 5 | |||||
Есть что-то конкретное с неопределенным поведением? Просто я вроде использовал только тривиальные конструкции
Добавлено через 49 секунд В этой строке всё, что через запятую в теле цикла поочередно выполнится, а после точки с запятой после цикла Добавлено через 1 минуту Исправил, все равно тоже самое
0
|
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
23.12.2015, 17:27 | 6 |
Сообщение было отмечено Unsigned как решение
Решение
Когда из while выходит по условию input_str[i] а потом ++i; на что укажет input_str[i] в 26 строке?
1
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
|
23.12.2015, 17:27 | 7 |
1
|
1 / 1 / 0
Регистрация: 21.12.2014
Сообщений: 67
|
|
23.12.2015, 17:31 [ТС] | 8 |
Спасибо, дело было в выходе за конец строки)
0
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
23.12.2015, 19:04 | 9 |
0
|
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
23.12.2015, 19:06 | 10 |
0
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||||
23.12.2015, 19:42 | 11 | |||||
конкретно, строка:
и что б вы знали, выход за пределы диапазона массива - ill-formed, а не UB.
0
|
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
23.12.2015, 19:55 | 12 |
0
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
23.12.2015, 20:09 | 13 |
см #2, #3, #4
см "well-formed", "ill-formed" встречаются часто, однако их нужно понимать в обывательском смысле. в отличие от UB, данные понятия не являются терминами.
0
|
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
23.12.2015, 20:51 | 14 |
Из стандарта: well-formed - Программа, которая не содержит синтаксических ошибок, диагностируемых семантических ошибок и подчиняется правилу одного определения.
ill-formed не well-formed программа. Где в этой программе ill-formed? Теперь по порядку. Я написал, что код содержит UB. Я спросил у ТС что происходит в строке word_b[z] = input_str[i], ++i, ++z; ++i; Я спросил у ТС на что будет указывать input_str[i] в 26 строке. Итого: двумя вопросами я подтолкнул ТС к обнаружению его ошибки. Почему вы решили, что именно во втором сообщении я указал на UB?
0
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
23.12.2015, 21:06 | 15 |
потому что #3 - ответ на просьбу "объяснить по поводу UB" (см #2, #3, #4)
я её не разглядывал. вы там что-то про array out of range вещали.
0
|
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
23.12.2015, 21:17 | 16 |
Indirection through an invalid pointer value
and passing an invalid pointer value to a deallocation function have undefined behavior. Any other use of an invalid pointer value has implementation-defined behavior. Стандарт. 3.7.4.2.4.
0
|
23.12.2015, 21:17 | |
23.12.2015, 21:17 | |
Помогаю со студенческими работами здесь
16
Когда a = a + b и a+= b дают одинаковый результат и когда разный Разный результат Memtest разный результат Разный результат в С# и Sql Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |