两个变量在不利用中间变量的情况下实现变量值交换

发布于 2022-10-15 07:25:53 字数 140 浏览 34 评论 0

eg:
int a=4;
int b=5;
在不利用中间变量的情况下实现a,b的值交换。

比如:
a=a+b;
b=a-b;
a=a-b;

有其他方法么??

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

提笔落墨 2022-10-22 07:25:53

xor

天赋异禀 2022-10-22 07:25:53

回复 2# hellioncu

a=a^b;
b=a^b;
a=a^b;
是这样么?

も星光 2022-10-22 07:25:53

回复  hellioncu

a=a^b;
b=a^b;
a=a^b;
是这样么?
loneavon1 发表于 2011-05-10 12:24

    代进去算了算,应该是吧

铁轨上的流浪者 2022-10-22 07:25:53

回复  hellioncu

a=a^b;
b=a^b;
a=a^b;
是这样么?
loneavon1 发表于 2011-05-10 12:24

   

不行,使用这个方法有风险,会产生未定义结果,貌似那个陈硕有专门针对这个下结论。

凶凌 2022-10-22 07:25:53

毫无意义。

不再见 2022-10-22 07:25:53

回复 5# int-main
可否给个链接?

丢了幸福的猪 2022-10-22 07:25:53

a = a*b;
b = a/b;
a = a/b;
这样?

痴情 2022-10-22 07:25:53

不行,使用这个方法有风险,会产生未定义结果,貌似那个陈硕有专门针对这个下结论。
int-main 发表于 2011-05-10 12:43

    只是说不好,结果不会错。
用加减的可能会溢出。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文