Not sure if your question is intended to be serious but on an ANSI C
compiler there is no way to do substitution inside a literal string.
However, what could have been accomplished with this:

#define debug(a) printf("the value of a is %d\n", a)

that is, a macro that would print "the value of foo is 27"

can be accomplished with ANSI "stringification":

#define debug(a) printf("the value of %s is %d\n", #a, a)

The preprocessor turns #a into "foo" (including the quotes)

Charles
-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of Martin Packer
Sent: Friday, September 05, 2014 1:57 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: IBM C compiler substituting for macros inside literals?

So tell me, if one wanted to achieve this apparently non-standard effect how
WOULD one go about it?

Not that I want to but it HAD to be asked. :-)

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to