@rahul : dude it's working fine ...check your printf() statement ....you
are swapping the pointers and printing the original float values of a and x
it should be printf("%f%f",*p,*q);

or if you want to swap float values not the pointers then it should be
swap(a,x,float);
printf("%f%f",a,x);


On Mon, Oct 29, 2012 at 11:30 PM, atul anand <atul.87fri...@gmail.com>wrote:

> well they should not , if you see it closely .... pointer p and q
> contain contain address of a and x.
> and swap() macro will swap value these pointers are holding i.e adress
> of a and x....but will it reflect address of a and x ???...NO
> so if you print the address p and q ...before and after the swap then
> you should see that after swap ....p will be holding address of x and
> q will be holding address of a..that it
>
> On 10/29/12, rahul sharma <rahul23111...@gmail.com> wrote:
> > 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
> > <atul.87fri...@gmail.com>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 <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.
> >>
> >>
> >
> > --
> > 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.
>
>


-- 
Vikram Pradhan | B.Tech| Computer Science & Engineering | NIT Jalandhar  |
9740186063 |

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