if you think the your expanded version is incorrect.You are wrong , because int * will hold pointer but you are not allocating address of x ..instead you are allocating x value as an address of x to *t.This wont work. so to make it work you need to save the address of x and y in temp pointers i.e
int *p.*q; p=&x; q=&y; int t; t=*p; *p=*q; *q=t; now you can convert it into macro. On 10/29/12, rahul sharma <rahul23111...@gmail.com> wrote: > @atul...mistakenly i have put w at place of t in my last post...i wana say > > > > On Mon, Oct 29, 2012 at 10:07 AM, dCoder <bansal....@gmail.com> wrote: > >> Just replace your macro with its definition and you will understand. >> >> its not doing swapping of pointers...plz explain >> > > > @dCode i expanded..but its fine...please tell > >> #include<stdio.h> >> #define swap(a,b,c) c t;t=a,a=b,b=t >> >> int main >> int x=10,y=20; >> int *p,*q; >> swap(x,y,int*); >> > int * t; > t=x; > x=y; > y=t; > > > There is int* at the end..there is som problem with my > keyborad...:(.........acc to me axpanded version is above..but not swapping > two pointerss....plz comment > > > > >> On Sun, Oct 28, 2012 at 9:16 PM, rahul sharma >> <rahul23111...@gmail.com>wrote: >> >>> its now doing swapping of pointers...plz explain >>> >>> >>> On Sun, Oct 28, 2012 at 8:08 PM, atul anand >>> <atul.87fri...@gmail.com>wrote: >>> >>>> it should swap.... >>>> >>>> On 10/28/12, rahul sharma <rahul23111...@gmail.com> wrote: >>>> > Why the following code is not able to swap two macros???although it >>>> > is >>>> > easily swapping 2 variables >>>> > >>>> > #include<stdio.h> >>>> > #define swap(a,b,c) c t;t=a,a=b,b=t >>>> > >>>> > >>>> > int main >>>> > >>>> > >>>> > int x=10,y=20; >>>> > int *p,*q; >>>> > >>>> > swap(x,y,int); >>>> > >>>> > -- >>>> > 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. >>>> > >>>> > >>>> >>>> -- >>>> 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. >>>> >>>> >>> -- >>> 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. >>> >> >> -- >> 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. >> > > -- > 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. > > -- 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.