Следующий цикл while не завершается. Это связано с тем, что переменная x
повторно объявляется внутри цикла while. Но я не понимаю, почему во второй итерации вперед в операциях x<10
и y=x
рассматривается x, определенная во внешней области видимости, а не x
, определенная в области блока в следующем выражении. Это потому, что как только первая итерация заканчивается, x
, определенный в области блока, уничтожается, и цикл начинает выполнять свежий?C++ Запугивание области переопределенных переменных для цикла
#include<iostream>
int main() {
int x = 0, y;
while(x <10){
y = x;
std::cout<<"y is :"<< y <<std::endl;
int x = y + 1;
std::cout<<"x is :"<< x <<std::endl;
}
std::cout<<"While loop is over"<<std::endl;
}