octave: Notes for the C Programmer

 
 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 ();
             ...