Bob Ammerman wrote: >> case n: is just a label, that is why it has the colon after it (just >> like any other label in C). That is also why the break leaps out of >> the switch statement, just like it jumps out of a while or for >> statement. > > 'case n:' is *not* a label. It *cannot* be the target of a goto. FWIW, both the C89 and C99 specs refer to it as "case label". However, I can't find (anymore?) the place where I thought the C99 standard allowed case labels as targets for goto. Must have dreamed that... Sorry for the confusion, Gerhard --------------------------------------------- C89 spec: 3.6.1 Labeled statements Syntax labeled-statement: identifier : statement case constant-expression : statement default : statement Constraints A case or default label shall appear only in a switch statement. Further constraints on such labels are discussed under the switch statement. -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist