答案 0 :(得分: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;
}
您可以使用任何语言的这些等式来实现此目的
答案 1 :(得分:7)
你的意思是交换两个变量的值,如XOR swap algorithm?除非你试图回答一个毫无意义的面试问题,用汇编语言编程,或在IOCCC中竞争,否则不要打扰。一个好的优化编译器可能会比你提出的任何技巧更好地处理标准tmp = a; a = b; b = tmp;
。
如果你正在做其中一件事(或只是好奇),请参阅the Wikipedia article了解更多信息。
答案 2 :(得分:1)
就数字而言,你可以用任何语言交换数字而不使用第三种数字,无论是java,objective-C OR C / C ++,
了解更多信息
Potential Problem in "Swapping values of two variables without using a third variable"
答案 3 :(得分:1)
由于这是明确的iPhone,你可以使用ARM指令SWP,但这几乎是你想要的不可思议的。编译器在这种优化方面要好得多。如果您只想避免代码中的临时变量,请编写内联函数来处理它。如果可以更有效地完成,编译器将对其进行优化。
答案 4 :(得分:0)
NSString * first = @" bharath&#34 ;; NSString * second = @" raj&#34 ;;
first = [NSString stringWithFormat:@"%@%@",first,second];
NSRange needleRange = NSMakeRange(0,
first.length - second.length);
second = [first substringWithRange:needleRange];
first = [first substringFromIndex:second.length];
NSLog(@"first---> %@, Second---> %@",first,second);