C语言基础—实现两个变量交换的三种方法
来源:互联网 发布:首席数据官 招聘 编辑:程序博客网 时间:2024/05/22 08:22
C语言程序执行中,当定义了变量后,就相当于在内存中开辟了一部分的存储空间,不同空间存储的内容各异。在实际应用中,常常需要交换不同存储空间的内容,即变量内容的交换。用不同的思路,都能实现两个变量的交换。下面简单地介绍了三种实现方法:
/*
方法一 思路:
1定义一个中间变量temp;
2将变量x的值存储到temp中;
3将变量y的值存储到x中;
4将temp中的x的值存储到y中;
优点:代码简单易懂;
*/
void changeValue_One(int x,int y)
{
printf("x = %d,y = %d\n",x,y);
int temp = x;
x = y;
y = temp;
printf("x = %d,y = %d\n",x,y);
}
/*
方法二 思路:
1将变量x+y的和存储到x中;
2用变量x减去变量y存储到y中;
3用变量x再减去变量y存储到x中;
优点:内存不用重新分配存储空间;
缺点:当变量x或者y过大时,相加的和容易溢出分配的存储空间;
*/
void changeValue_Two(int x,int y)
{
printf("x = %d,y = %d\n",x,y);
x = x + y;
y = x - y;
x = x - y;
printf("x = %d,y = %d\n",x,y);
}
/*
方法三 思路:
1分别让变量x与y的异或值分别赋给x,y,x;
优点:不用重新开辟内纯空间;
缺点:方法新颖,代码较难懂;
*/
void changeValue_Three(int x,int y)
{
printf("x = %d,y = %d\n",x,y);
x = x ^ y;
y = x ^ y;
x = x ^ y;
printf("x = %d,y = %d\n",x,y);
}
- C语言基础—实现两个变量交换的三种方法
- 零基础学C语言 笔记三 三种方法交换两个变量的值
- C语言交换两个变量数值的几种方法
- 交换两个变量的三种方法
- 两个变量交换的三种方法
- C语言三种方法实现两个变量值的交换
- C语言宏定义实现交换两个变量方法汇总
- C语言中—— 三种方法实现两个数值交换
- C语言中交换两个变量数值的方法
- C语言之多种方法交换两个变量的值
- C语言 交换两个变量的值的实现
- C语言--交换两个变量的
- C语言-交换两个变量的值
- C语言交换两个变量的值
- C语言交换两个变量的值
- C语言交换两个变量的值
- Java交换两个变量的值的三种方法
- C语言之交换两个整型变量的值(四种方法)
- Ubuntu配置apache二级域名
- seq_file实例
- 在equals()方法犯的错
- java.nio.ByteBuffer中flip、rewind、clear方法的区别
- 有重复元素的全排列问题
- C语言基础—实现两个变量交换的三种方法
- SpringMVC中的文件上传
- 加密SO文件中自定义的section
- nyoj 士兵杀敌(一) 108 (线段树)
- 学习Unity 3d,跟着雨潭老师的脚步前进。。。
- 关于正确避免僵尸进程(总结学习)
- VB6.0 支持鼠标滚轮教程
- Unix Network Programming(1)---基本概念说法
- Weblogic11g下调WebService出现的一系列问题