Latest web development tutorials

Sprawozdanie C ++ goto

Pętla C ++ Pętla C ++

Oświadczeniegoto umożliwia kontrolę bezwarunkowo do oznaczonego oświadczenia w obrębie tej samej funkcji.

Uwaga: W dowolnym języku programowania, nie zaleca korzystania z rachunku goto.Ponieważ utrudnia śledzić przebieg sterowania programem, co program trudny do zrozumienia i trudna do zmiany. Każdy program, który wykorzystuje goto może być zapisane jako treść nie wymaga korzystania z rachunku goto.

gramatyka

goto w C ++ składni:

goto label;
..
.
label: statement;

Tutaj, etykieta jest rozpoznawany identyfikator oznaczone Oświadczenie może być coś innego niż słów kluczowych C ++ w postaci zwykłego tekstu.Oznaczone Oświadczenie może być żadnego oświadczenia, umieszczone w identyfikatorem i dwukropek (:) tyłu.

schemat blokowy

Sprawozdanie C ++ goto

Przykłady

#include <iostream>
using namespace std;
 
int main ()
{
   // 局部变量声明
   int a = 10;

   // do 循环执行
   LOOP:do
   {
       if( a == 15)
       {
          // 跳过迭代
          a = a + 1;
          goto LOOP;
       }
       cout << "a 的值:" << a << endl;
       a = a + 1;
   }while( a < 20 );
 
   return 0;
}

Gdy powyższy kod jest kompilowany i wykonany, że daje następujące wyniki:

a 的值: 10
a 的值: 11
a 的值: 12
a 的值: 13
a 的值: 14
a 的值: 16
a 的值: 17
a 的值: 18
a 的值: 19

Oświadczenie goto jest dobrym zadaniem jest wyjść głęboko zagnieżdżony rutyny. Na przykład, rozważmy następujący fragment kodu:

for(...) {
   for(...) {
      while(...) {
         if(...) goto stop;
         .
         .
         .
      }
   }
}
stop:
cout << "Error in program.\n";

Eliminacjagoto spowoduje wykonywane są pewne dodatkowe testy.Prosta instrukcjabreak tutaj nie odgrywa roli, ponieważ powoduje, że program, aby wyjść z wewnętrznej pętli.

Pętla C ++ Pętla C ++