黑马程序员_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培训、期待与您交流! ----------------------
相关文章推荐
- 一个简单的例子理解C++ map, 运用map统计单词出现的次数
- 写给不想做OJ题的C++学习者
- c++中 子类父类的构造函数调用顺序
- C/C++的内存泄漏检测工具Valgrind memcheck的使用经历
- C/C++的内存泄漏检测工具Valgrind memcheck的使用经历
- C++中可以访问private的情况
- 改变单文档应用程序窗口的大小和位置
- C++Socket编程
- 一个c++小程序
- (C语言版)栈和队列(二)——实现顺序存储栈和顺序存储队列的相关操作
- C语言中的符号重载
- 2013蓝桥杯 CC++程序设计本科B组 错误票据
- c++ new 和delete
- C++命名规范
- 【通用语法】C++ c# JAVA double 求指定有效位数 4舍5入,确定一个数组的整数上下限
- c语言入门训练1.4
- c语言入门训练1.3
- c语言入门训练1.2
- C语言经典算法2
- c语言入门训练1.1