> it must be bug with the macro preprocessor used by USS's cc comand.
> Even K&R's 1978 definition of C makes it clear that arguments
> inside "..." strings are not to be substituted.
Two different questions.
If you:
#define d 5
printf("%d", 3);
the d won't be replaced. That is, in preprocessor terms, a very
different question from:
#define S(d) printf("%d", d)
The person writing a macro with arguments has full control over
the names, and can choose them to match or not. This allows for:
#define debug(x) printf("x=%d\n", x)
ANSI added the stringizing operation, and then removed the
replacement inside strings.
While not explicitely stated in K&R1, it is the normal case
for non-ANSI preprocessors.
-- glen
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN