#include<stdio.h>
#include str(x) #x
#define Xstr(x) str(x)
#define oper multiply


int main()
{
char *opername=Xstr(oper);
printf("%s",opername);
}
so firstly     Xstr is expanded to str(oper)
then str(oper) is expanded to #oper now i have read that

If, however, a parameter name is preceded by a # in the replacement text,
the
combination will be expanded into a quoted string with the parameter
replaced by the actual argument...and in this case actual is also oper so
it becomes "oper"...so it should print oper .....i thnik i am mistaken
anyhre...correct???

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to