On Apr 9, 8:07 am, Pratyush <[EMAIL PROTECTED]> wrote:
> I was trying to pass a macro inside a marco...
> eg........
> #define ABC alpha
> #define XYZ(expr) #expr
> int main()
> {
> printf( XYZ(ABC) "should print alpha" );
>
> }
>
> .....but the output is " ABC should print alpha ".....
> What is the problem and what is the solution to do this?
> I hope my question is understood.
You need another level of expansion.
#define ABC alpha
#define XYZ(X) DEF(X)
#define DEF(expr) #expr
int main()
{
printf( XYZ(ABC) "should print alpha" );
}
This is preprocessor abuse, though.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Algorithm Geeks" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/algogeeks
-~----------~----~----~----~------~----~------~--~---