> Lexical analysis can be tricky at times; consider the following > fragment of C code: > > char a[] = { > 0x0E+1, > 0x0D+2, > }; > > One of these is a legal expression in ANSI C, the other is not. What is the problem here? The only thing I can see which is questionable is the extra comma after the second expression; I believe, however, that the ANSI standard requires that compilers accept (and ignore) a comma following the last item in an initializer. Is there something else which I should be notic- ing?