int i;
i=0;
for (i=0;i>2;i++)
{
repeat((3),"|",var);
printf("\n");
}
何らかの理由で「for」に到達し、スキップします。私はint i
をforの外に置こうとし、forの外側でそれを初期化し、デバッグではゼロにしました。私が必要とすることは、このコードを2回ループすることだけです。Cでこのループに問題がありますか?
int i;
i=0;
for (i=0;i>2;i++)
{
repeat((3),"|",var);
printf("\n");
}
何らかの理由で「for」に到達し、スキップします。私はint i
をforの外に置こうとし、forの外側でそれを初期化し、デバッグではゼロにしました。私が必要とすることは、このコードを2回ループすることだけです。Cでこのループに問題がありますか?
変更:
for (i=0;i>2;i++)
へ:
for (i=0;i<2;i++)
それはそう、それはループに入ることはありません失敗します> 2
だ場合は、テストしています。
ありがとう、私は==で持っていたし、それは動作していないので、私は>に変更しました – StephanM
for (i=0;i>2;i++)
あなたがそうでなければ、あなたのfor
ループ本体が実行されることはありません
for (i=0;i<2;i++)
をしたいです。
それはので、あなたのループ条件は次のとおりです。i > 2
条件i > 2
が
が、それはそう
をホープ(FALSE)0と評価されますので、それは、2よりも大きくない変数i
forループを分解できます。以下のための3つの部分があります(piece1は、piece2; piece3)
piece1 =変数の設定、これは条件がtrueの間、ループ
に継続=ループの最初のランニングpiece2で一度起こります
peice3 =各繰り返しの最後にこのアクションを実行します。
私が2以上である一方、だからあなたのループは、今の状態は決してので、この時点で、あなたのコンパイラはすでに、出てスキップした...(あなたはそれがないと述べている)、I = 0最初のセットを言います本当だ。私はあなたが私を更新している唯一の場所がループ内にあるため、真なることはありませんこれは、2に等しくしながら、それはそれのループを行いますので、このための
は、テストは==、どちらか動作しません。中間の条件は継続条件であるブレーク条件ではありません。
あなたは 'I = 0'を設定することができ、あなたがループを持つことができるi>を2' 'ながら走り続けるが、あなた両方を行うことはできず、ループブロックが処理されることを期待する。 –