交换两个变量的值(4种方法)
第一种,最简单最常用的。
#include<stdio.h>
int main()
{int a=1,b=2;
int c;
c=a;a=b;b=c;
printf("%d,%d\n",a,b);
return 0;
}
第二种,使用位运算。
#include<stdio.h>
int main()
{int a=1,b=2;a=a^b;b=b^a;a=a^b;return 0;
<pre name="code" class="cpp"> printf("%d,%d\n",a,b);
} 注: 0^X=X
a=X^Y
b=X^Y^Y=X
a=X^Y^X=Y
第三种,使用指针,调用函数。
#include<stdio.h>
void exchange(int *a,int *b)
{int c;c=*a;*a=*b;*b=c;
}
int main( )
{int a=1,b=2;int *p1,*p2;p1=&a;p2=&b;exchange(p1,p2);
printf("%d,%d\n",a,b);
return 0;
}
第四种,该方法是转载的,原文地址: 点击打开链接
#include<stdio.h>
int main ()
{
//int a,b;
int a=1,b=2;
//printf("please enter two numbers.\n",);
//scanf("%d,%d",&a,&b);
a=b-a;
b=b-a;
a=b+a;
printf("%d,%d\n",a,b);
return 0;
}
还有什么方法,欢迎大家补充!谢谢
交换两个变量的值(4种方法)相关推荐
- python交换两个变量的值(四种方法)
方式一:使用第三个变量的常规交换方式 a = 18 b = 30 temp = a a = b b = temp 方式二:python中特有的交换方式 a = 18 b = 30 a, b = b, ...
- 不借助第三方变量交换两个变量的值(多种方法)
转载自:https://blog.csdn.net/kangkermit/article/details/21371159 通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换.代码 ...
- 初学者交换两个变量的值的三种方法
一.通过简单运算交换两个变量的值 #include<stdio.h> int main() {int i = 5, j = 6;i = i + j;j = i - j;i = i - j; ...
- 如何交换两个变量的值
交换两个变量的值 通常我们在进行两个变量交换这样的操作时,往往要引入第三个变量,借助第三个变量,交换两个变量的值.这种方法是最为简单的,也是十分容易理解的,代码如下:(这里采用c++的形式表现,与其他 ...
- Python中有几种办法交换两个变量的值?
交换两个变量的值方法,这个面试题如果只写一种当然很简单,没什么可以说的.今天这个面试是问大家有几种办法来实现交换两个变量的值 .在没开始看具体答案前,你可以先想想看 . 下面分别来说说这几种方法: 1 ...
- 在java中的交换方法有哪些_java中交换两个变量的值有哪几种方法,交换两个变量a和b的值...
java中交换两个变量的值有哪几种方法在Java中,有哪些方法可以交换两个变量的值, 方法: 1.定义临时变量 2.没有必要定义临时变量 3.使用位运算符 (学习视频分享:java课程) 代码示例: ...
- php比较两个变量的值_总结PHP不用第三个变量交换两个变量的值的几种方法
"PHP不用第三个变量交换两个变量的值"这个题看到过好多次了,看来面试确实喜欢考这道题.今天,对于这个题目,我自己总结了几种方法,可能不全,大家来互相补充. 有些仅适用于字符串,方 ...
- 交换两个变量的值,不使用第三个变量的四种法方
交换两个变量的值,不使用第三个变量的四种法方 通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换.代码如下: int a,b; a=10; b=15; int t; t=a; a= ...
- 交换两个变量的值的4种方法,你了解了吗?
目录 一.引入第三变量 二.不引入第三变量 1.a = a + b; b = a - b; a = a - b; 2.利用异或 3.巧妙运用优先级 总结: 在我们的开发中,或者在我们平时的练习中,常常 ...
- 交换两个变量的值?两种方法
** 交换两个变量的值,两种方式 ①第一种,定义临时变量,用来存放第一个变量的值,再将第二个变量的值赋值给第一个变量,临时变量里面的值赋值给第二个变量,就换过来啦. ②第二种方法,利用两个数之和省去了 ...
最新文章
- C#中切割字符串之正则表达式应用
- 免费OA系统品牌有那些?
- 微服务架构下,解决数据一致性问题的实践 1
- 使用饼图_【Excel饼图使用系列】之使用饼图的注意事项及几个小技巧
- 基于MATLAB的turbo码代码,一种基于Simulink的Turbo码仿真实现
- AT4996-[AGC034F]RNG and XOR【FWT,生成函数】
- kubeadm安装kubernetes 1.13.2多master高可用集群
- Oracle 10g 高级安装图文教程(二)
- java jsp 图片上传_jsp 图片上传代码
- sql2000执行sql2005导出的数据脚本时出现“提示含有超过64K限度的行”(转)
- createbitmap 旋转90度_如何旋转的位图90度
- idea2020版Maven依赖成功导入但仍然报错找不到包解决
- Python菜鸟教程-笔记
- mysql2000 sp4_【sql2000 sp4补丁下载】sql2000 sp4补丁64位下载 官方版-七喜软件园
- Digester 解析遇到字符失败
- php中可以给class添加click,jQuery addClass()方法添加class
- 素描小子跑酷html5游戏在线玩,体验Html5实现的在线素描及绘画设计
- 2019“智汇科学城”光明区创新企业投融资路演在招商局智慧城顺利举办
- Python常用第三方库
- 读叔本华之《人生的智慧》
热门文章
- python3.3使用tkinter实现猜数字游戏代码
- 一个worker thread服务一个客户端
- DELL MD3200I存储单双控制器的自由切换
- Linq快速入门——扩展方法
- mstsc.exe的小插件,隐藏客户端计算机名
- LPTSTR、LPCSTR、LPCTSTR、LPSTR的意义
- C++ Builder 实现动态生成窗口、控件,以及处理控件事件(转载)
- Dubbo自定义日志拦截器 1
- Buffer.from(str[, encoding])
- BZOJ4819: [Sdoi2017]新生舞会