不用临时变量交换两个数
异或有两个好用的性质:x ^ x == 0,x ^ 0 == x。于是 (a ^ b) ^ b 就变回了 a。靠它可以不用第三个变量交换两个数:
a ^= b; /* a 存的是 a^b */
b ^= a; /* b = b ^ (a^b) = 原来的 a */
a ^= b; /* a = (a^b) ^ 原来的 a = 原来的 b */
输入两个整数 a b,交换后输出。例如输入 6 3,输出:
3 6
程序第三步写错了一个字母。运行后看画布上每一步之后 a、b 各是多少,再改对。
代码里以 @youci 开头的 printf 只负责运行后在画布上显示中间值,不影响输出和判题,不用改。