以下 while 循环不会终止。x
这是因为在 while 循环中重新声明了变量。但我不明白为什么在第二次迭代中,语句x<10
并y=x
考虑在外部范围中定义的 x 而不是x
在以下语句中的块范围中定义的。这是因为一旦第一次迭代结束,x
块范围内的定义就被破坏了,循环开始重新执行?
#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;
}