作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试一个 for 循环。我添加了一个 if 语句以在循环达到 30 时停止循环。
我见过i <= 10
将运行 11 次,因为循环在达到 10 次时仍会运行。
如果有设置 i
的 if 语句,为什么下面的代码会运行 11 次(第一行)当它达到 10 时回到 0?它不应该只打印 10 个星号而不是 11 个 - 因为它永远不会到达第 11 个循环吗?另外,第二个 if
套i
回到 10,这应该让循环再运行一次,通过第一个 if
,然后设置 i
回到0?
int j = 0;
for (int i = 0; i <= 10; i++)
{
Console.Write("*");
if (i == 10)
{
j++;
Console.WriteLine("");
i = 0;
}
if (j == 30)
{
i = 10;
}
}
最佳答案
在第一个循环中,该行有 11 颗星,因为 i
从 0 到 10 迭代,总共 11 次迭代。
每当 i
变为值 10,j
递增,打印换行符,并且 i
变成 0
.
然而,当 i
设置为 0
在循环内,循环使 i
从 1 到 10 迭代,总共迭代 10 次。
这是因为 i
在下一次迭代开始之前递增。
一个 for
具有此结构的循环:
for (INIT; CONDITION; INCREMENT) {
BODY
}
while
循环:
INIT
while (CONDITION) {
BODY
INCREMENT
}
continue
时声明,它实际上跳到了
INCREMENT
部分。
关于loops - 了解 For 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18326700/
我是一名优秀的程序员,十分优秀!