Latest web development tutorials

sentencias en C ++ Goto

bucle C ++ bucle C ++

instruccióngoto permite el control incondicionalmente a una sentencia etiquetada dentro de la misma función.

Nota: En cualquier lenguaje de programación, no se recomienda el uso de la instrucción goto.Ya que hace más difícil rastrear el flujo de control del programa, haciendo que el programa sea difícil de entender y difícil de modificar. Cualquier programa que utiliza sentencias goto se puede reescribir como la redacción no requiere el uso de la instrucción goto.

gramática

instruccióngoto en C ++ sintaxis:

goto label;
..
.
label: statement;

declaración identificador marcadoaquí, se reconoce la etiqueta puede ser otra cosa que palabras clave de C ++ en texto plano nada.instrucción con etiqueta puede ser cualquier sentencia, colocado en identificador y dos puntos (:) atrás.

diagrama de flujo

sentencias en C ++ Goto

Ejemplos

#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;
}

Cuando el código se compila y ejecuta, produce los siguientes resultados:

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

sentencia goto es una buena función es para salir de la rutina anidada. Por ejemplo, considere el siguiente fragmento de código:

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

Eliminación deGoto dará lugar a se realizan algunas pruebas adicionales.Una declaración de larotura simple aquí no juega un papel importante, ya que hace que el programa para salir del bucle más interior.

bucle C ++ bucle C ++