Preprocessing tokens and spaces

If I have the following macro:

#define A 10 * 2

Does this macro replacement list have 5 preprocessing tokens, or only 3?

According to the C11 standard, the space seems to be a separation token

Categories of preprocessing tokens: header names, identifiers, preprocessor numbers, character constants, string literals, punctuators and single characters without spaces that do not lexically correspond to other categories of preprocessing tokens.

+4
source share
1 answer

It has three markers: two preprocessing numbers in *between. Space is not a token.

, , : single non-white-space characters; .

, " " " ", , .

+7

All Articles