C语言实现两数交换函数
2012-04-12 20:10
316 查看
我们可以引入一个简单的中间变量t进行两个数值交换。
int t;t=x;x=y;y=t;然而在swap(int x,int y)被调用时,实参进行副本初始化,函数并没有访问调用传递的实参本身,因而也不会修改实参的值。那么下列函数
void swap(int x, int y){ int t; t=x; x=y; y=t;}将达不到交换的目的。在C++中我们可以使用引用形参达到目的:
void swap(int &x, int &y){ int t; t=x; x=y; y=t;}那么在C语言中怎么实现交换函数呢?利用指针值交换实现
#include<stdio.h>void swap(int *x, int *y){ int t; t=*x; *x=*y; *y=t;}int main(){ int a=1,b=2; swap(&a,&b); printf("a=%d,b=%d",a,b); return 0;}PS:其他的一些交换数值方法
x=x*y;y=x/y;x=x/y;
x=x+y;y=x-y;x=x-y;;
x=x^y;y=x^y;x=x^y;
相关文章推荐
- C语言实现两数交换函数
- C语言实现两数交换函数
- 不用局部变量实现C语言两数交换算法
- 指针的应用(c语言)——(子函数实现交换父函数中变量的值)
- 指针实现两数交换和指向函数的指针
- C_利用函数的引用调用实现两数的交换
- C语言实现两数交换
- 不用局部变量实现C语言两数交换算法
- 实现一个函数,1打印乘法口诀表(可更改行列),2交换两数,3判断是否闰年,4判断是否素数。
- C语言两数实现交换
- 不用局部变量实现C语言两数交换算法
- 【面试题】C语言:使用函数实现两个数的交换
- 【面试题】C语言:使用函数实现两个数的交换
- C语言-使用函数实现两个数的交换
- C语言实现两数的交换
- C语言 使用函数实现两个数的交换
- 利用C语言重定向函数freopen实现交换两个文本文件内容
- 函数实现乘法表,两数交换,判断闰年,初始、逆置、清空数组
- c语言实现两数交换 4000
- 用C语言实现函数void * memmove(void *dest,const void *src,size_t n)