不用中间变量交换两个double类型

来源:互联网 发布:淘宝大码女装微胖 编辑:程序博客网 时间:2024/05/08 07:41
#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); 

        printf( "result:   %16.6f,   %16.6f\n ",   aa,   bb); 

        return   0; 

原创粉丝点击