Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: EX1 wordsmithed & code more well-commented

...

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
bgColor#CCCCFF
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 
}

...