开发者社区 问答 正文

怎样不用临时变量而交换两个值?

怎样不用临时变量而交换两个值?

展开
收起
游客py5kcp7dd6tu6 2022-03-30 08:06:42 641 分享 版权
1 条回答
写回答
取消 提交回答
  • 一个标准而古老的汇编程序员的技巧是: a ^= b; b ^= a; a ^= b; 但是这样的代码在现代高级程序设计语言中没什么用处。 临时变量基本上是自由使用的, 一般上的三个赋值是: int t = a; a = b; b = t; 这不只对读者更清晰, 更有可能被编译器辨别出来而 变成最有效的代码 (例如有可能使用 EXCH 指令)。 后面的代码明显的可以用于指针和浮点值, 而不象 XOR 技巧只能用于整型。

    2022-03-30 08:12:04
    赞同 展开评论
问答地址: