以下for循环语法有什么问题crv
变量是一个数组,我希望增量为2:
for(int i<0; i<crv.Count;i+2)
{
//Code Here
}
我的编译器只说Semicolon expected
这不是一个非常有用的反馈......
答案 0 :(得分:4)
您需要开始将i
初始化为零,而不是将其与零进行比较。另外,您的上一个语句实际上并未更改i
,它只返回值i+2
并且不对该值执行任何操作,您需要将i
实际设置为该结果。
for(int i = 0; i < crv.Count;i+=2)
{
//Code Here
}
答案 1 :(得分:2)
最大的错误是i+2
未重新分配给i
。
for(int i = 0; i<crv.Count;i = i+2)
{
//Code Here
}
您正在丢弃增量,而i
永远不会更改值。
然后,您没有初始化i
,而是检查它是否小于0
。
答案 2 :(得分:1)
请注意:首先部分是作业您不能将比较用作int i<0;
,而应该是int i=0
或int i = -10
或类似的所需内容
同样在增量部分,将更新后的值分配回i
for(int i =0; i<crv.Count; i+=2)
{
//Code Here
}
或在身体中做同样的事情(只提一下这个选项,这在某些特定情况下很有用)
for(int i =0; i<crv.Count;)
{
//Code Here
i+=2;
}
答案 3 :(得分:1)
虽然这些答案中的大多数确实告诉您如何修复代码,但他们并没有告诉您为什么它不起作用,我认为这对您来说很重要。
for
循环由三部分组成,以分号分隔。
for(part1;part2;part3)
part1
仅执行 一次 - 首先执行循环开始。 (这通常是您为计数器分配初始值的地方)
part2
,检查其值是真还是假。
如果为true,则执行循环体
然后part3
被执行,(正如你正在尝试做的那样)这通常是你增加的地方
然后再次检查part2
,如果它是真的,它会再次通过该过程,如果它是假的它存在循环
答案 4 :(得分:0)
for循环的第一部分决定了i的初始值。在您的示例中,您有“&lt;”,这不是一个可靠的值。请尝试i = 0。另外,最后一部分读作i,除了2,而不是每次迭代添加两个。试试i + = 2。