关于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}");
答案 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
。