【发布时间】:2023-03-20 12:51:02
【问题描述】:
我有一个生成素数的函数。
内部“for-loop”有两个条件检查语句,最终导致内部“for-loop”中断。
因此,在内部 for 循环中断后,控制转移到外部 for 循环,再次遇到内部 for 循环,内部 for 循环以 k 的递增值开始执行。
值何时增加,而不是在if 的指定条件下中断它的执行?
有人能解释一下这段代码在函数中的工作原理吗?
public void prime()
{
int i = 5;
for (int j = 2; j <= i; j++)
{
for (int k = 2; k <= i; k++)
{
if (j == k)
{
Console.WriteLine(j);
break;
}
else if (j % k == 0)
{
break;
}
}
}
}
输出:
2
3
5
【问题讨论】:
-
您应该在调试器中单步执行以查看此代码的作用。