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语言初学者,有的地方写的不是很准确,希望大家多多指点,不喜勿喷。。。

猜你喜欢

转载自blog.csdn.net/weixin_41890097/article/details/79711716