Thats because you have swapped pointers and printing variables.

On Mon, Oct 29, 2012 at 11:22 PM, 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.

Reply via email to