变量定义内部循环,在外部与最终值一起使用?

时间:2018-06-25 21:21:31

标签: c#

关于F3变量。我可以在循环之外使用它,还是可以实现下面的预期目的?

for (int i = 3; i == sequence; ++i)
{
    int F3 = F1 + F2;
    Console.WriteLine(F3);
    F1 = F2;
    F2 = F3;
    Console.WriteLine();
}
Console.WriteLine($"The {sequence}th number of the Fibonacci sequence is :{F3}");

1 个答案:

答案 0 :(得分:1)

变量仅在声明它们的块内可见。由于您是在循环体内声明F3,因此它仅在循环体内可见。

如果要在循环主体之外使用它,则还需要在循环主体之外声明它。像这样:

int F3;
for (…)
{
    F3 = F1 + F2;
    // …
}
Console.WriteLine(F3);

也就是说,在您的情况下,在循环主体的末尾有一行F2 = F3,因此在每次循环迭代之后,F2将等于F3。而且由于F2似乎已经在循环体之外声明,所以您可以改用该变量。

还请注意,您的循环条件是错误的。您正在检查i == sequence,因此仅当i等于sequence时,循环才会继续。由于i在每次循环迭代中都会更改,因此仅对于 sequence值为3才是正确的。因此,您的循环很可能根本没有运行。您想做的是检查i <= sequence,因此循环将一直持续到您按下i == sequence