// 有以下两个变量 a,b,需求对其中进行交换值,使 a = 2,b = 1int a = 1;
int b = 2;

通过第三个变量交换

int c = a;  // c = 1
a = b;  // a = 2
b = c;  // b = 1

不通过第三个变量交换

  • 通过表达式
a = a + b - (b = a);  // a = 1 + 2 - (b = 1) = 2
  • 通过 +/- 计算(可能出现溢出)
a = a + b;  // a = 1 + 2 = 3
b = a - b;  // b = 3 - 2 = 1
a = a - b;  // a = 3 - 1 = 2
  • 通过 ^ 计算(最快,但要求 a 不等 b)
a = a ^ b;
b = a ^ b;
a = a ^ b;

关于交换两个整型变量值的几种方法相关推荐

  1. 交换两个变量值的几种方法;

    1.借用一个临时值交换两个变量: #include <stdio.h> int main() {int num1 = 5;int num2 = 8;int temp;//申请一个临时变量p ...

  2. 交换两个变量值的四种方法

    面试题: 交换两个变量的值 int a = 10; int b = 20; 方案A:使用第三方变量(开发中使用) int c = a; a = b; b = c; 方案B:用异或的特点实现(面试使用) ...

  3. 交换两个变量值的三种方法

    文章目录 交换两个变量的值的方法 方法1:定义临时变量 方法2:采用加减操作来实现交换 方法3:利用异或运算符进行操作 交换两个变量的值的方法 方法1:定义临时变量 public class Test ...

  4. 交换两个变量值的几种方法-C语言初学者

    1.借用一个中间变量交换两个变量 #include<stdio.h> int main() {int i=0;int j =0;int n = 0;printf("请输入两个要交 ...

  5. java 两个值对换_java将两个整型变量值进行互换的几种实现方法

    在很多时候,我们会使用到将两个整型变量值进行互换,比如冒泡排序,通过判断来将数组变量的值逐步交换,那么怎么交换值才能最有效最节省空间呢? 首先,我们会想到的,用一个零时变量来做中间的过度存储空间,这是 ...

  6. 交换两个整型变量的数值

    #include<stdio.h> #include<conio.h> main() { void swap(int *p1,int *p2);//定义一个函数作用是交换两个整 ...

  7. 交换两个整型变量的三种方法

    在学习C语言的过程中,我们都会遇到的一个题目就是:交换两个整型的变量:今天我将讲解三种方法供大家开拓视野!!! 法一: 新建一个整型变量c,假设我们要交换a b两个整型变量的值,我们先把a变量的内容存 ...

  8. C语言写一函数交换两变量的值

    C语言写一函数交换两变量的值 #include <stdio.h> void swap(int *p1, int *p2); // 形参,只声明 int main(){int a=5, b ...

  9. 【java】java 如何不使用第三个变量来交换两个数的值

    文章目录 1.概述 2.方案 2.1 算术运算 2.2 位运算 1.概述 今天是一个悲伤的一天,我的悲伤逆流成河.非常非常的悲伤.主要是有这个一个面试题.如何不使用第三个变量来交换两个数的值. 考官说 ...

最新文章

  1. php-5.3.3安装注意问题
  2. Software-Defined Networking之搬砖的故事
  3. mysql数据库的后_MySQL数据库误删后的回复技巧
  4. C++ POD与结构体声明
  5. 关于Google Guava的几个问题
  6. 太空java游戏_JavaSpaceWar 一个基于 语言编写的太空战争游戏,包含所有图像和声音资源,便 习理解使用 Game Program 238万源代码下载- www.pudn.com...
  7. 通过 MySQL 二进制日志恢复删除的记录
  8. L1-031. 到底是不是太胖了-PAT团体程序设计天梯赛GPLT
  9. python口号_编程语言的口号
  10. 20.go vet 和 go tool vet
  11. 【chromium cdm 模块源码分析】
  12. 【债券量化策略研究系列】债券风险测度指标:久期(Duration)与凸度(Convexity)
  13. DNA序列c语言,请问怎么用r语言进行dna序列分析?
  14. H5 HTML 移动端触摸拖拽drag drop 自定义拖拽样式 使用PointerEvent模拟的拖拽方案
  15. Spring框架基础(上)
  16. 这是一篇假的回顾过去展望未来计划书
  17. 封装chrome镜像
  18. 《单片机原理及应用(魏洪磊)》第六章第12题
  19. java do while 循环语句用法
  20. 北大计算机科学与技术保研率,北大信科---我的保研路

热门文章

  1. octave在线版求解rs译码生成多项式系数
  2. LM321低功耗单路运算放大器
  3. EDA(Quartus II)——正弦信号发生器的设计
  4. prometheus联邦监控主机及k8s
  5. 仿制Windows画图板程序
  6. MqttAndroidClient.registerReceiver
  7. SQLServer海量数据库的查询优化及分页算法方案
  8. 系小米前测试总监告诉你手工与自动化的区别,我们为什么要学习它们
  9. Patroni for opengauss 10:rewind
  10. 会议室预定软件开发流程(IPAVS BOOKING SYSTEM)