我想知道是否有其他方法可以在一行中交换 2 个数字,当然没有第三个变量。
我知道一种方法:
b=a+b-(a=b)
或
a=a+b-(b=a)
两者是相同的(大约)。如果你知道的话请帮帮我。
最佳答案
您可能正在寻找的经常被引用的经典答案是:
a^=b^=a^=b;
但是,从技术上来说这是错误的,因为它在序列点之前多次更改同一变量。
关于c - 如何在 C 中交换一行中的两个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18394609/