使用およびCとC ++のループは、ジャンプであるサイクルを達成する方法は、存在しながら達成する方法をCとC ++の前に話します。我々は後藤の使用はお勧めしませんが。
これは、前のサイクルプログラムでいる間です。
1 INT ()メイン 2 { 3 INT [ 10 ] = { 0 }。 4 INT X = 0 。 5 一方(真) 6 { 7 場合(X> = 10 ) 8 ブレーク。 9 A [X] = 2 * X。 10 X ++ 。 11 } 12 、X = 0 。 13 一方(真) 14 { 15 場合(X> = 10 ) 16 ブレーク。 17 のprintf(" %d個の要素が%D \ nは"、X + 1 、[X])。 18 X ++ 。 19 } 20 リターン 0 。 21 }
私たちは、達成するためのgoto方法に変更しました:
1 INT ()メイン 2 { 3 INT [ 10 ] = { 0 }。 4 INT X = 0 。 5 のsetValue: 6 場合(X < 10 ) 7 { 8 [X] = 2 * X。 9 X ++ 。 10 後藤のsetValue。 11 } 12 13 X = 0 。 14 printvalue: 15 であれば(X < 10) 16 { 17 のprintf(" %dの要素は\ n%dは"、X + 1 、[X])。 18 X ++ 。 19 後藤printvalue。 20 } 21 22 戻り 0 ; 23 }
後藤の使用は後藤がキーワードとして定義され、使用が許可されていないいくつかの新しい言語で推奨されていません。
しかし、後藤機能ブレークとを達成することができません続けます。そのようなネストされた複数のループ、特定の条件がGOTO文を使用して、完全に最外ループニーズのうち、満たされる最も内側のループとして、プログラムは、変数の使用を低減する、簡略化することができます。
1 INT メイン() 2 { 3 int型、X = 0 。 4 のための(INT iが= 0 ; iが< 10 ; I ++ ) 5 { 6 のための(INT J = 0 ; J < 10 ; J ++ ) 7 { 8 のprintf(" 入力X = " )。 9 のscanf(" %dの"、およびX) 10 もし(X%2 == 0 ) 11 { 12 のprintf(" 入力奇数\ N。" ); 13 ブレーク; 14 } 15 他の 16 { 17 のprintf(" 入力偶数\ N。" ); 18 後藤endflag。 19 } 20 } 21 のprintf("電流I =%dの\ N。"I + 1 ); 22 } 23 endflag: 24 のprintf(" 。Finishe \ n " ); 25 }
ユーザ入力ライン番号9つの待ちます。
入力の数が偶数、現在のサイクルのうち、プログラム実行行21である場合の線10-14、が判定されます。
入力された番号を直接2サイクル、プログラムの実行の24本のラインのうち、奇数であれば15〜19行は、それが決定されます。
あなたはgoto文を使用しない場合、我々は他の変数を使用する必要があります。
INT のmain() { int型のx = 0 。 以下のために(INT iが= 0 ; I < 10 ; I ++ ) { BOOL RET = 偽。 用(INT J = 0 ; J < 10 ; J ++ ) { のprintf(" 入力X = " )。 scanf関数(" %のD "、&x)は、 もし(X%2== 0 ) { のprintf(" 入力奇数\ N。" ); 休憩; } 他 { のprintf(" 入力偶数\ N。" ); RET = 真; 休憩; } } もし(RET) ブレーク。 のprintf(" 電流I =%dの\ N。"、I + 1 )。 } のprintf(" Finishe \ N。" ); }
しかし、後藤は、マシン内の変数のより多くの使用は、今大きな影響を持っていない、プログラムの維持に困難を引き起こす可能性があります。