a Debido a esto, cuando cualquier caso coincide con el valor especificado, el control pasa a los casos posteriores hasta que se encuentra una declaración de interrupción. En C++ , el error no se encuentra en fallas , pero en lenguajes como Dart , ocurre un error cada vez que ocurre una falla .
No siempre es necesario para evitar fallas , pero también se puede usar como una ventaja.
Programa 1:
A continuación se muestra el programa para ilustrar cómo se produce la falla:
C++
// C++ program to illustrate // Fallthrough in C++ #include <iostream> using namespace std; // Driver Code int main() { int n = 2; // Switch Cases switch (n) { case 1: { cout << "this is one \n"; } case 2: { cout << "this is two \n"; } case 3: { cout << "this is three \n"; } default: { cout << "this is default \n"; } } return 0; }
this is two this is three this is default
Explicación: en el código anterior, no hay una declaración de interrupción, por lo que después de hacer coincidir con el segundo caso, el control fallará y las declaraciones posteriores también se imprimirán.
¿Cómo evitar la caída ?
Para evitar fallas, la idea es usar una declaración de interrupción después de todos y cada uno de los casos para que, después de hacer coincidir, salga de la declaración de cambio y el control vaya a la declaración junto a la declaración de cambio.
Programa 2:
A continuación se muestra el programa para ilustrar cómo evitar la caída:
C++
// C++ program to illustrate how to // avoid fall through #include <iostream> using namespace std; // Driver Code int main() { int n = 2; // Switch Cases switch (n) { case 1: { cout << "this is one \n"; break; } case 2: { cout << "this is two \n"; // After this break statement // the control goes out of // the switch statement break; } case 3: { cout << "this is three \n"; break; } default: { cout << "this is default \n"; break; } } return 0; }
this is two
Publicación traducida automáticamente
Artículo escrito por coder_nero y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA