2016-11-13 10 views
-1

配列を検索して特定の値(4番目、5番目など) - ((0 + n * 4)と(3 + n * 4))のみを確認しようとしています 最初の見つかったものがチェックされ、値が0の場合は1に変更され、次にプログラムが停止する場合は、次の値を試します。 次のコードがありますが、 tは..itが一斉に値1 ... 任意の提案を行い停止?C - アレイ。特定の値のみを変更する

 { 
     for (i=0; i<(totalnumber); i++) 
     { for (n=0; n<((totalnumber)/4); n++) 
      { if (i==(0+(n*4))) 
       { if (array[i]==0) 
        { 
         array[i]=1; 
         break; 
        } 
       } 

       else if ((i==(3+(n*4)))) 
       { 
       if (array[i]==0) 
       { 
        array[i]=1; 
        break; 
       } 
       } 
      } 
     } 
    } 
+0

あなたは完全なコードを投稿することができますか? –

答えて

1

単一breakの文だけで最寄りのループの勃発を使用。それは、外側iループから抜け出すdoes notの。だから、コードを変更して外側のループから抜け出す。

もう1つの方法は、同じforループ内に両方のカウンタ変数i,nを使用することです。つまり、外側のforループから脱出するには、breakを1回だけ使用します。

私はbreak文はすぐにそれを囲む、スイッチ、またはwhile文のために、唯一のDOを終了し、MSDN

からネストされた声明の中で引用します。 returnまたはgoto文を使用すると、ネストされた構造の他の場所からコントロールを転送できます。

これが関連している - Can I use break to exit multiple nested for loops?

関連する問題