Criticism of the C programming language: Difference between revisions

Content deleted Content added
Dnas (talk | contribs)
m Absent features: disambiguate link
Redquark (talk | contribs)
Internal consistency: clarify what a "preprocessing number" is
Line 122:
int sixteen = 0x3e-0x2e;
 
The reason is that <code>0x3e-0x2e</code> matches the form of a [[Scientific_notation#E_notation|scientific notation]] "preprocessing number", and, since token-matching is greedy, is converted to a single preprocessing token. The subsequent conversion of that to a token in a later phase of translation is ill-defined, so the compiler will not obtain the intended tokenization of
 
int sixteen = 0x3e - 0x2e ;