C语言中交换两个变量的值
2014-11-01 11:26
851 查看
在C语言中,要交换两个变量的值,对于不同的人,可能会有不同的方法。
对于初学者来说,可能是这样。
当然,对于很多使用C语言的人来说,不会犯上面的错误,会这么写交换函数。
今天,看到另外一种方法。
对于初学者来说,可能是这样。
void swap(int x,int y) { int temp; temp = x; x = y; y = temp; }但是,C语言中的函数调用采用的值传递,因此在主函数中调用该swap函数显然无法交换两个变量的值。
当然,对于很多使用C语言的人来说,不会犯上面的错误,会这么写交换函数。
void swap(int *x,int *y) { int temp; temp = *x; *x = *y *y = temp; }通过传递变量的地址,能达到预期的结果。
今天,看到另外一种方法。
void swap(int *x,int *y) { *y = *x ^ *y; *x = *x ^ *y; *y = *x ^ *y; }通过异或操作,也能达到这个效果,而且,不需要额外的存储开销,这样运行效率是否更高呢?
相关文章推荐
- 用函数交换两个变量的值(C语言指针)
- [c语言笔记]关于指针操作中使用异或交换两个变量的值
- C语言不创建临时变量,交换两个整型的值
- 使用C语言指针交换两个变量的值
- C语言(如何不使用第三个变量达到交换两个变量值的目的)
- C语言学习之交换两个变量的值
- 标准C语言,不用引入新变量就可以交换两个变量的方法及其注意事项
- C语言交换两个变量的值
- C语言交换两个变量(不创建临时变量)(位运算简介)
- c语言:4种方法;交换两个整数的位置(包括引入第三方变量和不引入第三方变量)
- C语言中交换两个变量数值的方法
- 黑马程序员------C语言中交换两个变量的值
- 【c语言】 交换两个整形变量的值(要求不创建临时变量)
- C语言交换两个变量的值
- C语言-交换两个变量的值
- 黑马程序员——【C语言】用三种方式交换两个变量的值
- C语言 交换两个变量的值的实现
- 【c语言】 交换两个整形变量的值(要求不创建临时变量)
- C语言交换两个变量的值
- 利用C语言来实现交换两个变量的值,由终端输入两个整数给变量x、y,然后交换x和y的值后,输出x和y。 有不同的方法