#### 10.2.1 Notes for the C programmer

The `switch` statement is also available in the widely used C programming language. There are, however, some differences between the statement in Octave and C

- Cases are exclusive, so they don't `fall through' as do the cases in the `switch` statement of the C language.
- The command_list elements are not optional. Making the list optional would have meant requiring a separator between the label and the command list. Otherwise, things like

                switch (foo)
                  case (1) -2
                  ...

  would produce surprising results, as would

                switch (foo)
                  case (1)
                  case (2)
                    doit ();
                  ...

  particularly for C programmers. If `doit()` should be executed if foo is either `1` or `2`, the above code should be written with a cell array like this

                switch (foo)
                  case { 1, 2 }
                    doit ();
                  ...