A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

int n=6,m=9;
n=n^m;
m=n^m;
n=n^m;//为什么这里的n还是原来的n,n在n=n^m运算时不是已经改变了吗?

评分

参与人数 1技术分 +1 收起 理由
狼王 + 1 赞一个!

查看全部评分

4 个回复

倒序浏览
            int a = 10;//a=1010;
            int b = 5;//b=101;  
            a = a ^ b;//1010^101=1111;              //a1=a^b;   可以先加上一个第三变量a1
            b = a ^ b;//1111^101=1010;b=10;     //b=(a1^b)^b;    这里的a已经是a1啦
            a = a ^ b;//1111^1010=101;a=5;       //a=a1^(a1^b);   这里的a都是a1,但是b的值一直没有改变,所以这个式子中跟a1的值无关。
希望在好好参详一下,品味一下就哦了。
  
a=

评分

参与人数 1技术分 +1 收起 理由
狼王 + 1 赞一个!

查看全部评分

回复 使用道具 举报
嗯嗯,我看懂了,谢谢!{:soso_e156:}
回复 使用道具 举报
在数值范围确定后:交换两个数n,m的值,不用到中间变量,还介绍一种方法(以int型为例)
int n,m;
n=n+m;
m=n-m;
n=n-m;
回复 使用道具 举报
编程的梦想 发表于 2013-11-3 16:37
嗯嗯,我看懂了,谢谢!

no thanks   共同进步  哈哈
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马