您的位置:首页 > 编程语言 > C语言/C++

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

2014-03-18 22:04 531 查看

----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

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

#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;
}


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

----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: