如何在目标c中交换两个变量的值而没有第三个变量

Anj*_*jan 1 iphone objective-c

嘿家伙我想要你的建议,如何在没有第三个变量的情况下改变两个变量的值.目标cc.有没有办法通知我,

Arp*_*wal 12

它可以用任何语言完成.x和y是2个变量,我们想要交换它们

{
  //lets say x , y are 1 ,2
  x = x + y; // 1+2 =3
  y = x - y; // 3 -2 = 1
  x = x -y; // 3-1 = 2;
}
Run Code Online (Sandbox Code Playgroud)

您可以使用任何语言的这些等式来实现这一目标


Ano*_*mie 7

你的意思是交换两个变量的值,如在XOR交换算法中?除非你试图回答一个毫无意义的面试问题,用汇编语言编程,或在IOCCC中竞争,否则不要打扰.一个好的优化编译器可能会tmp = a; a = b; b = tmp;比你提出的任何技巧更好地处理标准.

如果你正在做其中一件事(或者只是好奇),请参阅维基百科文章了解更多信息.