C# for循环的输出是如何工作的?
嘿,伙计们,我正在测试for循环的输出。但我似乎不明白这个输出怎么变成11C# for循环的输出是如何工作的?,c#,for-loop,C#,For Loop,嘿,伙计们,我正在测试for循环的输出。但我似乎不明白这个输出怎么变成11 public void button1_Click(object sender, EventArgs e) { int i; for (i = 1; i <= 10; i += 2) { } MessageBox.Show("The number is " + i); } } public void按钮1\u单击(对象发送者,
public void button1_Click(object sender, EventArgs e)
{
int i;
for (i = 1; i <= 10; i += 2)
{
}
MessageBox.Show("The number is " + i);
}
}
public void按钮1\u单击(对象发送者,事件参数e)
{
int i;
对于(i=1;i循环的最后一次迭代是在i=9
时。循环以i+=2
终止,这将为您提供i=11
的for
循环在1
处开始i
,并不断地将2
添加到i
,在i
大于10时停止。这是第一次发生在i==11
,因此循环退出,并且i
仍然11
实际上并不清楚您期望的是什么,但看看发生了什么:
i
以1开始。1小于或等于10,因此它进入循环体
- 循环体什么也不做
- 在循环体的末尾,
i
增加2
i
现在具有值3。3小于或等于10,因此它进入循环体
- 循环体什么也不做
- 在循环体的末尾,
i
增加2
i
现在具有值5。5小于或等于10,因此它进入循环体
- 循环体什么也不做
- 在循环体的末尾,
i
增加2
i
现在具有值7。7小于或等于10,因此它进入循环体
- 循环体什么也不做
- 在循环体的末尾,
i
增加2
i
现在具有值9。9小于或等于10,因此它进入循环体
- 循环体什么也不做
- 在循环体的末尾,
i
增加2
i
现在的值为11。11不小于或等于10,因此循环终止
1
的值已打印出来-仍然是11
如果将消息框放入循环中:
int i;
for (i = 1; i <= 10; i += 2)
{
MessageBox.Show("The number is " + i);
}
inti;
对于(i=1;i而言,由于循环遍历结果的方式,循环基本上无法终止
i=1的值
问题是你把i+=2
这会导致问题,因为它会像这样贯穿您的所有价值观:
i=1
:你的i失败了,你比我更清楚为什么,回答得很好。
int i;
for(i = 1, i <= 5, i +=1 );
int i;
for(i = 5, i <= 20, i += 5);