Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Turbo C - <b>switch switch statement</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
switch                   switch Statement

 switch (expression) {
     [declaration
     ...]
     [case constant :]
         [statement;
         ...]
     ...
     [default:]
         [statement;
         ...]
 }

    Switch provides a multi-point branch based on the value of
    `expression'.  `switch' evaluates `expression', then passes control
    to the case constant that matches `expression'.  If no case matches
    expression's value, control is passed to the default label, if one
    exists.  Otherwise, control is passed to the statement following the
    switch.

      Notes:    Case labels must be unique.

                A case label must must be an integer or character
                constant, or a constant expression.

                When control is passed to a case label, execution
                continues on through the statements following that label.
                Be aware that execution does not automatically end at the
                next case label, but continues on until either a break,
                return or goto statement (or the end of the switch
                statement) is encountered.  For this reason, you may wish
                to put a break after each case's statements--unless, of
                course, you want to flow into the next case.

                Multiple case labels may prefix the the same statement.

                The optional `default:' label need not be the last label
                in a switch.

                MS-C requires the switch expression be of type char,
                short, int or enum.  The expression type is widened to
                int before being evaluated, as are the case label values.
                This allows for 65536 unique cases.

  -------------------------------- Example ---------------------------------

           while (TRUE) {
               switch (getchar()) {
                   case 'a':
                   case 'A':
                       add_record();
                       break;

                   case 'd':
                   case 'D':
                       delete_record();
                       break;

                   ...

                   case EOF:
                       cleanup();
                       exit(0);

                   default:
                       error("Don't recognize that code. Please try again.");
                       break;
                   }
           }

See Also: break return goto

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson