C语言:给定两个整形变量的值,将两个值的内容进行交换。 三种解法!
解法一:创建临时变量。
解法二:不创建临时变量。
这种方法的好处是:少定义一个变量。但也有缺点:第三条语句,在求两个数之和时,如果数据过大,可能会出现数据溢出的情况。
解法三:位运算法。
// 异或运算符^;运算方法是二进制按位异或。
// 2 = 010; 4 = 100;
// ①: 0 1 0 原a
^ 1 0 0 原b
1 1 0 a^b
// ② 1 1 0 a^b
^ 1 0 0 原b
0 1 0 新b也就是原来的a
// ③ 1 1 0 a^b
^ 0 1 0 新b
1 0 0 新a也就是原来的b。
c语言初学者,有的地方写的不是很准确,希望大家多多指点,不喜勿喷。。。