-1

次の for ループ構文の問題点は、crv変数が配列であり、2 のインクリメントが必要なことです。

for(int i<0; i<crv.Count;i+2)
{
  //Code Here
}

私のコンパイラSemicolon expectedは、あまり有用なフィードバックではないことしか言いません...

4

5 に答える 5

4

iゼロと比較するのではなく、ゼロに初期化することから始める必要があります。さらに、最後のステートメントは実際には変更iされません。値を返すだけでi+2、その値で何もしません。実際iにその結果に設定する必要があります。

for(int i = 0; i < crv.Count;i+=2)
{
    //Code Here
}
于 2012-11-09T14:46:43.287 に答える
2

最大のエラーは、i+2が に再割り当てされていないことiです。

for(int i = 0; i<crv.Count;i = i+2)
{
  //Code Here
}

インクリメントを捨てており、値をi変更することはありません。

次に、初期化iではなく、より小さいかどうかを確認し0ます。

于 2012-11-09T14:47:10.107 に答える
1

注意: 最初のセクションは代入です。int i<0;int i=0int 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;
    }
于 2012-11-09T14:47:50.323 に答える
1

これらの回答のほとんどは、コードを修正する方法を教えてくれますが、理解することが重要だと思う理由を教えてくれません。

ループは、forセミコロンで区切られた 3 つの部分で構成されます。

for(part1;part2;part3)

part1ループの実行が最初に開始されたときに、一度だけ実行されます。(これは通常、カウンターに初期値を割り当てる場所です)

part2が次に実行され、その値が true か false かがチェックされます。

true の場合、ループの本体が実行されます

次にpart3実行されます(実行しようとしているように)、これは通常、インクリメントする場所です

その後part2、再度チェックされ、true の場合はプロセスを再度実行し、false の場合はループが存在します。

于 2012-11-09T15:08:12.313 に答える
0

for ループの最初の部分は、i の初期値を決定します。あなたの例では、「<」がありますが、これは確かな値ではありません。代わりに i=0 を試してください。また、最後の部分は、反復ごとに 2 を追加する代わりに、2 に加えて i として読み取られます。代わりに i+=2 を試してください。

于 2012-11-09T14:48:34.007 に答える