任何人都能告诉我这个功能的目的吗?

时间:2018-04-27 12:39:16

标签: pascal

procedure f(var a:integer; var b:integer);

    begin 

    a:=a xor b;
    b:=a xor b;
    a:=a xor b;

    end;

1 个答案:

答案 0 :(得分:3)

这是一个常见的"技巧"交换两个变量的值(在这种情况下:a,b)而不使用第三个变量。

请参阅此主题(适用于C ++,但它代表任何编码语言),以便更好,更全面地了解问题:Swapping two variable value without using third variable