Using continue in a switch statement
break, c, c++, continue, switch-statement
Solution
It's fine, the `continue` statement relates to the enclosing loop, and your code should be equivalent to (avoiding such jump statements):
while (something = get_something()) {
if (something == A || something == B)
do_something();
}
But if you expect `break` to exit the loop, as your comment suggest (it always tries again with another something, until it evaluates to false), you'll need a different structure.
For example:
do {
something = get_something();
} while (!(something == A || something == B));
do_something();
Problem
I want to jump from the middle of a `switch` statement, to the loop statement in the following code: ``` while (something = get_something()) { switch (something) { case A: case B: break; default: // get another something and try again continue; } // do something for a handled something do_something(); } ``` Is this a valid way to use `continue`? Are `continue` statements ignored by `switch` statements? Do C and C++ differ on their behaviour here?