不使用第三个变量,实现交换两个变量的值
2019独角兽企业重金招聘Python工程师标准>>>
最近在看深入理解计算机系统,一个感觉-挺好,虽然只看了前面一部分,但是觉得此书是值得我这个不太了解系统的菜鸟去深入学习的。
看到上面提到的一个有关交换变量的值的时候,自己动手将程序写了出来,代码很简单.
#include <stdio.h>
void main(){
int a = 3;
int b = 4;
printf("a = %d, b = %d\n",a,b);
a = a ^ b;
b = a ^ b;
a = a ^ b;
printf("a = %d, b = %d\n",a,b);
}
转载于:https://my.oschina.net/u/1263822/blog/160312
不使用第三个变量,实现交换两个变量的值相关推荐
- 不使用第三个变量来交换两个变量的值
前言 在一些公司的面试中可能会有些面试官会出一些奇奇怪怪的问题,比如怎么样计算1加到100的和要求不能使用加法,减法,循环和if判断,再比如怎么样不用第三个变量来交换两个变量的值等问题.这里我们先分析 ...
- 不用临时变量,交换两个变量的值
不用临时变量,交换两个变量的值 a=a^b; b=a^b; a=a^b; 或者 a=a+b; b=a-b; a=a-b;
- 【剑指offer】不使用新变量,交换两个变量的值,C++实现
# 题目 不使用新变量,交换两个变量的值. # 思路 方法一:使用加减法操作,交换两个变量的值. A = A+B B = A-B A = A-B 方法二:使用异或运算,交换两个变量的值 A = A^B ...
- JAVA:不使用第三个变量,交换两个变量的值
1.通过算术运算减法实现 /*** 1.算术运算实现* (a = 10, b = 2) -> (a = 2, b = 10)*/public static void arithmetic_1() ...
- PHP中不用第三个变量交换两个变量的值
相信大家在PHP面试或者学习中经常会遇到这个问题就是"不用第三个变量来交换两个变量的值",今天正对这个问题来讨论一下: 第一种方法:首先会想到的 这种方法简单可行,顺利的交换了两个 ...
- 初学者交换两个变量的值的三种方法
一.通过简单运算交换两个变量的值 #include<stdio.h> int main() {int i = 5, j = 6;i = i + j;j = i - j;i = i - j; ...
- 如何交换两个变量的值
交换两个变量的值 通常我们在进行两个变量交换这样的操作时,往往要引入第三个变量,借助第三个变量,交换两个变量的值.这种方法是最为简单的,也是十分容易理解的,代码如下:(这里采用c++的形式表现,与其他 ...
- 在不借助中间变量的前提下,交换两个变量的值
借助中间变量,可以很方便的交换两个变量的值.如果不借助中间变量,同样可以达到交换变量的目的. 数值相加减进行交换 int a = 10; int b = 12; a = b - a; //a = 2, ...
- php比较两个变量的值_总结PHP不用第三个变量交换两个变量的值的几种方法
"PHP不用第三个变量交换两个变量的值"这个题看到过好多次了,看来面试确实喜欢考这道题.今天,对于这个题目,我自己总结了几种方法,可能不全,大家来互相补充. 有些仅适用于字符串,方 ...
- 【java】java 如何不使用第三个变量来交换两个数的值
文章目录 1.概述 2.方案 2.1 算术运算 2.2 位运算 1.概述 今天是一个悲伤的一天,我的悲伤逆流成河.非常非常的悲伤.主要是有这个一个面试题.如何不使用第三个变量来交换两个数的值. 考官说 ...
最新文章
- R语言可视化分别使用lattice包和ggplot2包可视化热图(heatmap)并绘制热力图对应的系统树图(dendrogram)实战
- Codeforces Round #369 (Div. 2)
- Fragment要点复习
- linux中的守护进程
- WSGI Server/Gateway
- unique Signatures of Histograms for local surface description
- SpringCloud整合Feign配置类之间的关系以及feign配置隔离的实现
- installshield 安装包失败问题
- 泰坦尼克号python数据预处理_Python机器学习入门:泰坦尼克号预测
- 如何将宿舍门变成指纹开锁?
- CryEngine5 Shader调试
- DEM: 诊断事件管理 (Diagnostic Event Manager)
- mbit职业测试软件,MBTI职业性格测试(自动计算版)-
- 搭建一个多对多的音视频通信服务
- 缺少dll文件的终极解决办法!
- python中取整求余的计算步骤
- Latex 如何给数学公式进行编号
- 怎样找对还有一半---第四章认识彼此 完全接纳
- 1.Spark启动时hive出现another instance of derby may have already booted the database的错误
- 重磅 | 首个可信区块链行业应用标准发布
热门文章
- 机器学习的12大经验总结
- vscode使用markdown语言编写文本
- 张亚勤、韦乐平等综述论文:通信人工智能的下一个十年
- 谷歌前CEO:美国科技优势面临最危险时刻
- AI如何帮助我们理解意识——麻省理工最新大脑研究
- 没中、美这么大的统一市场,欧盟人工智能发展面临双重挑战
- 量子计算机不会“秒杀”经典计算机
- 无监督学习最新研究:通过简单的「图像旋转」预测便可为图像特征学习提供强大监督信号
- Google CEO Sundar Pichai :“谷歌最大的威胁就是自身的成功”
- 埃森哲报告:2017年数字化浪潮下的医疗行业五大趋势