`
wjxa
  • 浏览: 15171 次
  • 性别: Icon_minigender_1
  • 来自: 株洲
最近访客 更多访客>>
社区版块
存档分类
最新评论

两个整形变量,不用中间变量进行替换!

    博客分类:
  • .NET
阅读更多
两个整型变量 不用中间变量 进行替换

严格的讲,这个题目是无解的。

有很多人会有这样的答案:

int a = ?
int b = ?

a=a+b;
b=a-b;
a=a-b;

看来是没什么问题 结果也正确 如果a+b>int.MaxValue呢? 这一行就会溢出。

如果不使用第三个变量 有两个方法

第一种方法

a^=b;
b^=a;
a^=b;

第二种方法:
b=a+(a=b)*0;

第一种不知道什么意思 采用的是逻辑运算符
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics