Почему этот результат попадает в бесконечный цикл?Почему это бежит в бесконечный цикл?
После входа в цикле for
, я напечатал значение i
и v.size()-2
и они 0
и -1
соответственно. Следовательно, условие цикла должно быть false
. Затем, как эта программа попадает в цикл for
?
#include <iostream>
#include <vector>
int main() {
std::vector<int> v {1};
std::cout << "Size:: " << v.size();
for (int i=0 ; i <= (v.size()-2) ; i++) {
std::cout << "Hello";
}
return 0;
}
Где именно вы «распечатывающих ВЕРТИКАЛИ() - 2»? –
Ваша программа предположительно имеет неопределенное поведение, потому что «i ++» вызывает сплошное переполнение цепочки. –
Ваш компилятор должен был предупредить вас об этом сравнении без подписей. Если это не так, узнайте, как увеличить свои предупреждения. – molbdnilo