@Tendura: This violates the sequence point rule. Results are
undefined.

Dave

On Jul 12, 2:02 pm, tendua <6fae1ce6347...@gmail.com> wrote:
> regarding question to the generic macro to swap int, float, double
>
> # define swap(a,b) ((a)^=(b)^=(a)^=(b))
>
> On Jul 12, 10:08 pm, Aniket Dutta <aniketdutt...@gmail.com> wrote:
>
>
>
> > c=a+b
> > then find b=c-a;
> > if this b equals previous one then ok else overflow
>
> > On 7/9/11, John Hayes <agressiveha...@gmail.com> wrote:
>
> > > regarding question related to overflow
>
> > > int ovr_sum(int *sum,int a,int b)
> > > {
> > >  *sum=a+b
> > >  if(*sum<0)
> > >           return -1; //overflow
> > > else
> > >           return 0; //no problem with the sum (overflow don't occur)
> > > }
> > > On Sat, Jul 9, 2011 at 2:05 PM, John Hayes <agressiveha...@gmail.com> 
> > > wrote:
>
> > >> generic swap can be written as -> #define Swap(T, a, b) {T temp = a; a=b;
> > >> b=temp;}
>
> > >> this is working fine in gcc
>
> > >> On Sat, Jul 9, 2011 at 1:45 PM, saurabh singh <saurab...@gmail.com> 
> > >> wrote:
>
> > >>> #include<stdio.h>
> > >>> #include<error.h>
> > >>> #include<malloc.h>
> > >>> #include<stdlib.h>
> > >>> void swap(void *p1,void *p2,const unsigned size)
> > >>> {
> > >>>  char *buff=(char*) malloc(size*sizeof(char));
> > >>> if(!buff)
> > >>> {
> > >>>  perror("malloc");
> > >>> exit(11);
> > >>> }
> > >>>  memcpy(buff,p1,size);
> > >>> memcpy(p1,p2,size);
> > >>> memcpy(p2,buff,size);
> > >>>  free(buff);
> > >>> return;
> > >>> }
> > >>> int main()
> > >>> {
> > >>> int a=12,b=24;
> > >>> char c='a',d='b';
> > >>>  float e=1.1f,f=2.3f;
> > >>> char wrd1[]="Hello";
> > >>> char wrd2[]="Bye";
> > >>>  char *p=wrd1;
> > >>> char *q=wrd2;
> > >>> swap(&a,&b,sizeof(int));
> > >>>  swap(&c,&d,sizeof(char));
> > >>> swap(&e,&f,sizeof(float));
> > >>> swap(&p,&q,sizeof(p));
> > >>>  printf("%d\t%d\n",a,b);
> > >>> printf("%c\t%c\n",c,d);
> > >>> printf("%f\t%f\n",e,f);
> > >>>  printf("%s\t%s\n",p,q);
> > >>> return 0;
> > >>> }
> > >>>  Its a generic function not a macro, I know but the idea would be same.
>
> > >>> --
> > >>> Saurabh Singh
> > >>> B.Tech (Computer Science)
> > >>> MNNIT ALLAHABAD
>
> > >>>  --
> > >>> 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.- Hide quoted text -
>
> - Show quoted text -

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