Чтобы развернуть этот ответ , даже если вы используете a и b , как в выражении printf после вложенного петли, петли все еще могут быть оптимизированы. Почему?
Ваш предел цикла - это константа , которая известна во время компиляции. Таким образом, компилятор будет фактически вычислять, что будет a в конце во время компиляции.
Попробуйте прочитать в консоли предельное значение цикла, и вы увидите, что второй цикл больше не будет оптимизирован.
Но не используйте огромное количество, такое как MAX_INT, потому что это займет очень и очень много времени - даже на быстрой машине. Вот почему вы наблюдаете это:
Но когда я запускаю в режиме отладки, это еще не конец.
Программа работает вечно, верно?
Число около 1000 даст вам разумное, измеримое время.