黑马程序员__三种方法实现两个变量值的交换

时间:2023-02-19 21:36:04


一、利用一个临时变量来实现两个变量值的交换:

#include <stdio.h>

int main()

{

int a = 10;

int b = 11;

int temp;

temp = a;

a = b;

b = temp;

 

printf("a=%d,b=%d\n", a, b);

 

    return 0;

}

二、不用临时变量来实现两个变量值的交换:

#include <stdio.h>

int main()

{

int a = 10;

int b = 11;

a = a + b;

b = a - b;

a = a - b;

 

printf("a=%d,b=%d\n", a, b);

 

    return 0;

}

三、利用位运算来实现两个变量值的交换:

#include <stdio.h>

int main()

{

int a = 10;

int b = 11;

a = a ^ b;

b = a ^ b;

a = a ^ b;

 

printf("a=%d,b=%d\n", a, b);

 

    return 0;

}

三种方法比较:第一种方法需要另外开辟一块内存空间来存储临时变量,而后两种方法不需要临时变量,故后两种方法代码执行效率高。但是,后两种方法代码可读性差,没有第一种方法代码可读性好。所以,平时开发多用第一种方法,后两种方法多见于面试题。