0 / 0 / 0
Регистрация: 14.10.2013
Сообщений: 21
|
|||||||||||
1 | |||||||||||
C/C++ Зависает программа при вызове printf в цикле24.02.2014, 06:51. Показов 1070. Ответов 2
Метки нет (Все метки)
Здравствуйте. При написании программы, которая должна выводить целые числа в интервале от 1 до n, у меня получилось что-то странное:
вот такая программа не работает - при n>0 начинает перечислять числа до бесконечности Кликните здесь для просмотра всего текста
А вот такая - работает: Кликните здесь для просмотра всего текста
Решение, позволяющее наладить работу, было скопированно с похожей задачи в интернете, но не до конца понято. Отличие всего в 2 строчки, которые, при этом, не должны менять никаких значений в регистрах. По идее, цикл должен уменьшать ecx каждый шаг, пока он не станет равен 0. Почему тогда некорректен 1 случай? Опять-таки, по идее push должен помещать значение в стек, pop - извлекать. Сам ecx от помещения/извлечения меняться не должен. Однако... Как же всё-таки оно работает?
0
|
24.02.2014, 06:51 | |
Ответы с готовыми решениями:
2
При вызове второго раза функции, зависает программа Почему зависает программа при бесконечном цикле Do - Loop VCL Forms Application, программа зависает при вечном цикле В цикле while программа зависает Почему зависает форма при вызове метода? |
Ушел с форума
16339 / 7659 / 1076
Регистрация: 11.11.2010
Сообщений: 13,702
|
|
24.02.2014, 06:58 | 2 |
Novilit-v,
тут две причины:
1
|
0 / 0 / 0
Регистрация: 14.10.2013
Сообщений: 21
|
|
24.02.2014, 07:09 [ТС] | 3 |
Что-то такое на счёт printf подозревал.
Бесконечный цикл могу убрать, но в данном примере он роли не играет. Спасибо за исчерпывающий ответ.
0
|
24.02.2014, 07:09 | |
24.02.2014, 07:09 | |
Помогаю со студенческими работами здесь
3
При вызове контекстного меню ворд зависает Зависает билдер при вызове всплывающей подсказки Приложение зависает при вызове команды протокола SSH Каждый раз при вызове метода в цикле все, что было в ptr затирается Ошибка компиляции на вызове printf Если запускать метод Method1 из нового потока, то при первом вызове MoveTheShell (в цикле) не меняется значение Shell.Y Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |