写代码经常遇到两个数字交换的问题,基本就三种方法 交换 a b 的值。 1、引入一个中间值 int c=a; a=b; b=c; 2、利用相加之后相减,好处是不用定义新的变量,不用浪费空间,坏处是a+b的值可能会溢出,还有就是数组中,可能会出问题。 a=a+b; b=a-b; a=a-b; 3、利用异或运算,效率最快,B格也高,建议使用,不过在数组中也容易出问题 a=a^b; b=a^b; a=a^b; 目前出的问题 红框中,只能用第一种方法,下面两种方法会出错,原因就是 lis=i