Thanks Gene... it solved my problem...
Whats so abuse about this type of macro?
On Apr 10, 6:36 am, Gene <[EMAIL PROTECTED]> wrote:
> 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
-~----------~----~----~----~------~----~------~--~---