为什么我不能在 while 循环中声明这个变量?
Why can't I declare this variable within while loops?
我对编程很陌生,如果这个问题看起来有点愚蠢,请原谅我,但为什么当我尝试 运行 这段代码时它不起作用:
int calculate_quarters(int cents)
{
while((25 <= cents) && (cents < 50))
{
int quarters = 1;
}
while((50 <= cents) && (cents < 100))
{
int quarters = 2;
}
return quarters;
}
但是当我尝试 运行 这段代码时它运行得很好吗?
int calculate_quarters(int cents)
{
int quarters = 0;
while((25 <= cents) && (cents < 50))
{
quarters = 1;
}
while((50 <= cents) && (cents < 100))
{
quarters = 2;
}
return quarters;
}
这是您的情况的直观图片:
对于您的第一个代码,quarters
是在 while 循环内声明的,因此无法从外部范围引用它。
但是,对于您的第二个代码,quarters
是在方法中声明的,因此现在可以在该范围内引用它。
我对编程很陌生,如果这个问题看起来有点愚蠢,请原谅我,但为什么当我尝试 运行 这段代码时它不起作用:
int calculate_quarters(int cents)
{
while((25 <= cents) && (cents < 50))
{
int quarters = 1;
}
while((50 <= cents) && (cents < 100))
{
int quarters = 2;
}
return quarters;
}
但是当我尝试 运行 这段代码时它运行得很好吗?
int calculate_quarters(int cents)
{
int quarters = 0;
while((25 <= cents) && (cents < 50))
{
quarters = 1;
}
while((50 <= cents) && (cents < 100))
{
quarters = 2;
}
return quarters;
}
这是您的情况的直观图片:
对于您的第一个代码,quarters
是在 while 循环内声明的,因此无法从外部范围引用它。
但是,对于您的第二个代码,quarters
是在方法中声明的,因此现在可以在该范围内引用它。