#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.