#include<stdio.h>
double aa=3.1415926;
double bb=9643380.2345;
void xchgdbl(double *a,double *b)
{
*(int *)a ^= *(int *)b;
*(int *)b ^= *(int *)a;
*(int *)a ^= *(int *)b;
*(((int *)a) + 1) ^= *(((int *)b) + 1);
*(((int *)b) + 1) ^= *(((int *)a) + );
*(((int *)a) + 1) ^= *(((int *)b) + 1);
}
int main()
{
xchgdbl(&aa, &bb);
double aa=3.1415926;
double bb=9643380.2345;
void xchgdbl(double *a,double *b)
{
*(int *)a ^= *(int *)b;
*(int *)b ^= *(int *)a;
*(int *)a ^= *(int *)b;
*(((int *)a) + 1) ^= *(((int *)b) + 1);
*(((int *)b) + 1) ^= *(((int *)a) + );
*(((int *)a) + 1) ^= *(((int *)b) + 1);
}
int main()
{
xchgdbl(&aa, &bb);
printf( "result: %16.6f, %16.6f\n ", aa, bb);
return 0;
}