On Apr 21, 2:27 pm, Pratyush <[EMAIL PROTECTED]> wrote:
> 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.- Hide quoted text -
Most anyone reading your code will hate you after figuring out how
this works.
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---