以下是代码:
public static int foo( int a)
{
int result = 0;
for (int i = 1; i <= a; i++)
{
for (int j = 1; i < 2*a; j += 2)
{
result = result + i;
}
}
return result;
}
以下输入..
Console.WriteLine(foo(2));
Console.ReadLine();
什么都不返回。我真的认为代码应该有效。我没有收到任何错误,所以我需要修复什么?
答案 0 :(得分:2)
因为:
for (int j = 1; i < 2*a; j += 2)
永远不会做任何改变i
的事情,因此它处于无限循环中,因为它始终保持为1。
你可能会说:
for (int j = 1; j < 2*a; j += 2)