6 / 6 / 0
Регистрация: 17.10.2011
Сообщений: 153
|
||||||
1 | ||||||
Второй раз функция отрабатывает неверно [С++]07.12.2011, 19:07. Показов 819. Ответов 3
Метки нет (Все метки)
Добрый день. Есть функция char * fun(char *str);, которая выполняет несколько действий над этой строкой. Если вызывать функцию один раз, то она правильно отрабатывает. Однако, если вызывать функцию два раза подряд с разными строками, то иногда она возвращает неверный результат. С чем это может быть связано? Может быть, с тем, что в функции используются некие другие чаровские указатели? Хотя они удаляются в конце программы.
0
|
07.12.2011, 19:07 | |
Ответы с готовыми решениями:
3
Функция sin.getline не вызывается во второй раз Найти корень уравнения методом последовательных итераций.Второй корень вычисляет неверно SELECT отрабатывает "неверно" Цикл отрабатывает несколько раз |
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
07.12.2011, 21:20 | 2 |
это трындец, а не функция.
1. настройте свой редкатор так, чтобы вместо табов вставлялись пробелы. код будет нормально отображаться везде. вы же видите, как криво он тут отображается. 2. рассмотрите вариант использования std:: string вместо динамических массивов символов. 3. разбейте свою толстую ф-ию на маленькие функции. 4. Воспользуйтесь дебагером для нахождения проблемы. С чего вы взяли что если ее вызвать второй раз, то она некорректно работает? Если судить по коду, то она вызывается каждый раз с разными входящими строками. Если так, то это ф-ия кривая и она корректно работает лишь с определенным набором входных параметров.
1
|
6 / 6 / 0
Регистрация: 17.10.2011
Сообщений: 153
|
|
07.12.2011, 21:24 [ТС] | 3 |
Если запустить функцию один раз с вторым аргументом - результат верный, если с первым - результат верный, а если запустить их подряд, то второй результат уже неправильный.
0
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
07.12.2011, 21:51 | 4 |
собрал. тьмя ворнингов. ну да ладно. у меня ни разу не отработала нормально.
вот почитайте вот этот топик для справки. вы пытаетесь модифицировать константу и результат этой операции неопределен. возможно это лишь одна из причин ваших проблем https://www.cyberforum.ru/cpp-... 99873.html похоже у вас там все очень плохо. если исправить литералы на массивы, все равно программа крашится даже на одном вызове. где-то корраптится память, где-то что-то вы не туда пытаетесь записать. посмотрите на пункт 2, который я в первом сообщении написал.
0
|
07.12.2011, 21:51 | |
07.12.2011, 21:51 | |
Помогаю со студенческими работами здесь
4
Событие клика отрабатывает несколько раз Код корректно отрабатывает только один раз Почему InvokeRepeating отрабатывает только один раз? Не отрабатывает функция Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |