double a = 123.456, b = 456.789;
int ap, *bp;
ap = (int)(&a);
bp = (int*)(&b);
cout << "a=" << a << "\tb=" << b << endl;
*ap = (*ap) ^ (*bp);
*bp = (*ap) ^ (*bp);
*ap = (*ap) ^ (*bp);
ap++;
bp++;
*ap = (*ap) ^ (*bp);
*bp = (*ap) ^ (*bp);
*ap = (*ap) ^ (*bp);
cout << "a=" << a << "\tb=" << b << endl;
为什么这段码可以让两个值的数值互换呢