...
Wiki Markup |
---|
*MSC14-EX1*: The {{break}} statement at the end of the final case in a {{switch}} statement may be omitted. By convention, this is the {{default}} label. The {{break}} statement serves to transfer control to the end of the {{switch}} block. Fall-through behavior also causes control to arrive at the end of the {{switch}} block. Consequently, control transfers to the statements following the {{switch}} block without regard to the presence or absence of the {{break}} statement. Nevertheless, the final case in a {{switch}} statement should end with a {{break}} statement, in accordance with good programming style (see \[[Rogue 2000|AA. Bibliography#Rogue 00]\]). |
MSC14-EX2: A break
statement may be omitted when When multiple cases require execution of identical code. Such instances must be explicitly documented, then break
statements may be omitted from all cases except the last one. For example:
Code Block | ||
---|---|---|
| ||
int card = 11; int value; // Cases 11,12,13 fall through to the same case switch (card) { // MSC13-J:EX2: these three cases are treated identically case 11: // break not required case 12: // break not required case 13: value = 10; break; // break required default: // Handle Error Condition } |
...