Форум программистов, компьютерный форум CyberForum.ru

Зависание в цикле - C++

Восстановить пароль Регистрация
 
lss
919 / 849 / 281
Регистрация: 10.10.2012
Сообщений: 2,701
22.05.2014, 13:49     Зависание в цикле #1
После выхода из for(), через break, j перестаёт увеличиваться. Почему?
C++
1
2
3
4
5
6
7
8
9
10
   int j = 1;
   do
   {
       for ( ; j < 5; ++j)
       {
            if (j == 2)
                break;
       }
 
   } while (j < 5);
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2014, 13:49     Зависание в цикле
Посмотрите здесь:

C++ Зависание на деструкторе.
C++ Зависание
Игра очень долго инициализируется и система принимает это за мёртвое зависание C++
C++ Зависание и/или остановка работы
C++ Зависание програмы и бесконечный while
Двумерный динамический массив в классе. Зависание при вводе и вызове деструктора C++
C++ Зависание потоков. Работа с файлами
C++ Сортировка в структуре - зависание при печати

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kasan
Чорумфанин
337 / 337 / 185
Регистрация: 06.03.2014
Сообщений: 872
22.05.2014, 13:57     Зависание в цикле #2
Потому что j увеличивается только в цикле for(), а из него мы вышли через break.
lss
919 / 849 / 281
Регистрация: 10.10.2012
Сообщений: 2,701
22.05.2014, 14:44  [ТС]     Зависание в цикле #3
Вышли (при j == 2) и опять зашли в цикл for(). Почему после этого j не увеличивается?

Добавлено через 19 минут
Понял. При заходе в цикл проверяется условие, а увеличение j делается после выполнения хотя бы одной итерации, а в этом коде итерация не заканчивается из-за break.
Yandex
Объявления
22.05.2014, 14:44     Зависание в цикле
Ответ Создать тему
Опции темы

Текущее время: 09:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru