I have taken form book...i am writing exact code

#include<stdio.h>
#define swap(a,b,c) c t;t=a,a=b,b=t;


int main()
{
float a,x;
a=20.0;
x=30.0;
float *p,*q;
p=&a,q=&x;
swap(p,q,float*);
printf("%f %f",a,x);
getchar();
}

o/p=20.000 30.000


why not swapped???
On Mon, Oct 29, 2012 at 11:01 PM, atul anand <[email protected]>wrote:

> 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 <[email protected]> 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 <[email protected]> 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
> >> <[email protected]>wrote:
> >>
> >>> its now doing swapping of pointers...plz explain
> >>>
> >>>
> >>> On Sun, Oct 28, 2012 at 8:08 PM, atul anand
> >>> <[email protected]>wrote:
> >>>
> >>>> it should swap....
> >>>>
> >>>> On 10/28/12, rahul sharma <[email protected]> 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 [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?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 [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?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 [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?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 [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?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 [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?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 [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?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 [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?hl=en.

Reply via email to