开发者社区> 问答> 正文

*a1=*a1^*b1;这句的功能是什么

#include
int main(void) 
{ 
int *a1,*b1,*c1,a,b,c; 
a1=&a; 
b1=&b; 
c1=&c; 
scanf("%d%d%d",a1,b1,c1); 
if(*a1>*b1) 
{ 
*a1=*a1^*b1; 
*b1=*a1^*b1; 
*a1=*a1^*b1; 
} 
if(*a1>*c1) 
{ 
*a1=*a1^*c1; 
*c1=*a1^*c1; 
*a1=*a1^*c1; 
} 
if(*b1>*c1) 
{ 
*b1=*b1^*c1; 
*c1=*b1^*c1; 
*b1=*b1^*c1; 
} 
printf("%d,%d,%d",*a1,*b1,*c1);
}

展开
收起
a123456678 2016-03-20 11:26:56 2691 0
1 条回答
写回答
取消 提交回答
  • 比如a=1,b=2
    那按位表示a最低4位是: 0001
    b最低4位是:0010

    a1=a1^*b1; //0001^0010=0011; a1=0011
    b1=a1^*b1; //0011^0010; b1=0001;
    a1=a1^*b1; //0011^0001=0010; a1=0010
    交换了一下a1和b1

    2019-07-17 19:09:14
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
《0代码搭应用》 立即下载
不止代码 立即下载
《15分钟打造你自己的小程序》 立即下载