精华内容
下载资源
问答
  • int a = 10; int b =15; 现在要求不借助第三个变量就做到交换俩个整数; 第一种方法 a=a-b; b=a+b; a=b-a; 第二种方法 a = a^b; b=a^b; a=a^b;

    int a = 10;
    int b =15;
    现在要求不借助第三个变量就做到交换俩个整数;
    第一种方法
    a=a-b;
    b=a+b;
    a=b-a;
    第二种方法
    a = a^b;
    b=a^b;
    a=a^b;

    展开全文
  • 如标题所示,不借助第三个变量交换两个变量的数值: int a=10; int b=20; //交换a和b的数值 a+=b;//等价于a=a+b,此时,a的值是30,b的值是20 b=a-b;//此时,a的值是30,b的值是10 a-=b;//等价于a=a-b,此时,a的值...

    如标题所示,不借助第三个变量交换两个变量的数值:

    int a=10;
    int b=20;
    //交换a和b的数值
    a+=b;//等价于a=a+b,此时,a的值是30,b的值是20
    b=a-b;//此时,a的值是30,b的值是10
    a-=b;//等价于a=a-b,此时,a的值是20,b的值是10
    
    展开全文
  • 不借助第三个变量交换两个变量的值前言一、使用加减运算二、使用乘除运算三、使用异或运算 前言 相信大家初学C/C++时都会遇到这么一个问题,就是交换两个变量的值,这时候我们通常都会引入一个第三方变量,对值...

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


    前言

    相信大家初学C/C++时都会遇到这么一个问题,就是交换两个变量的值,这时候我们通常都会引入一个第三方变量,对值进行存储再赋值。但是有没有想过,如何不借助第三个变量,就实现两个值的互相转换呢?下面提供三个方法,仅供参考。


    一、使用加减运算

    在这里插入图片描述

    二、使用乘除运算

    在这里插入图片描述

    三、使用异或运算

    在这里插入图片描述

    展开全文
  • 在面试的时候经常遇到这样的题目:不借助第三个变量交换两个变量的值。今天在这里来详细分解以下这个题目。 int a=4; int b=5; 声明两个整型变量a,b。计算出其二进制分别为a:0100,b:0101。下面开始正式计算 (1)...

            在面试的时候经常遇到这样的题目:不借助第三个变量交换两个变量的值。今天在这里来详细分解以下这个题目。


    int a=4;

    int b=5;


    声明两个整型变量a,b。计算出其二进制分别为a:0100,b:0101。下面开始正式计算


    (1)a=a^b;

    0100

    ^

    0101

    -----------------------

    0001


    此时a:0001,b不变(b:0101)。


    (2)b=a^b;

    0001

    ^

    0101

    ----------------------

    0100


    此时a:0001,b:0100(即b的值为4)


    (3)最后一步: a=a^b;

    0001

    ^

    0100

    ---------------

    0101


    此时a:0101,b:0100,转换二进制为十进制得到a=5,b=4;











    本文转自 hgditren 51CTO博客,原文链接:http://blog.51cto.com/phpme/1921903,如需转载请自行联系原作者
    展开全文
  • 方法如下: a=a+b b=a-b, b变为原始a的值 a=a-b, a变为原始b的值 #include<iostream> using namespace std; int main() { int a=10,b=20; a=a+b; b=a-b;//b变为原始a的值 a=a-b;... return
  • 其实使用临时变量的思路都是让其中一个变量变成一个a和b都有关系的值 这样可以先改变另一个变量值, 最后改变原修改的变量值 比如这个 a = a + b; b = a - b; a = a - b; 让a先变成a与b的‘和’(也可以换成a和b的...
  • 不借助第三个变量交换两个变量值的3种方式 今天在我们学校的OJ上做题,一道非常简单的题,突然想试试能不能不借助第三个变量交换两个变量值。蒙出来一半了已经,好可惜。现在把方法写在这里,希望...
  • 异或算法(这种方法不借助第三个变量,也不会产生溢出,比较安全,但整数类型)  int a = 10;  int b = 5;  a ^= b;  b ^= a;  a ^= b;  Console.WriteLine("{0} {1}", a, b);  2.直接赋值(有溢出的...
  • JavaScript不借助第三个变量交换a,b两个变量值

    万次阅读 多人点赞 2017-07-13 10:48:34
    [转载地址]http://blog.csdn.net/q1056843325/article/details/53223914交换变量值方案一最最最简单的办法就是使用一临时变量了 不过使用临时变量的方法实在是太low了var t; t = a; a = b; b = t;首先把a的值存储...
  • //方法一: $a = "abc"; $b= "def"; $a = $a^$b; $b = $b^$a; $a = $a^$b; //方法二: list($a, $b) = array($b, $a); //方法: $a = $a . $b; $b = strlen( $b );
  • 算法课上老师讲了通过异或位运算实现不借助第三个变量交换两个数的值,课后整理博客时又查到一种通过加减运算也可以实现不借助变量来交换
  • #include<iostream> using namespace std; void swap(int *a,int *b); int main() { int a,b; cin>>a>>b; swap(a,b); cout<<a<<" "<<b<...void s...
  • https://blog.csdn.net/samjustin1/article/details/52138733
  • 原文地址:http://blog.csdn.net/web_hwg/article/details/75045689方法一最简单的方法是用一临时变量var a = 10, b = 20; var temp = a; a = b; b = temp;
  • 无需借助第3个临时变量交换个变量a,b d的方法: 逻辑运算(异或) 下面的异或运算可以实现a,b的交换,而无需借助第3个临时变量: a = a ^ b; b = a ^ b; a = a ^ b; 这个交换两个变量...
  • 我在写我的一篇博客,想想还有点小激动呢,一次写,可能写得尽如人意,还望大家多多谅解鸭,有什么正确的地方,还望大家指正。 今天看了一大佬的代码,发现了一这样的几行代码: arr[i]=arr[i]^arr[0]...
  • 最近遇到这样的题目,刚开始被问的一脸懵逼,后来回来以后查了一下,其实并难,提供给大家几种思路,原理还是借助赋值运算和数组对象属性以及ES6结构赋值 /* 方法一赋值运算 */ a = a + b; b = a - b; a = a - b; ...
  • 提供一直嵌入汇编的方法: int main() { int a=1; int b=2; _asm { mov eax,[a]; mov ebx,[b]; mov [a],ebx; mov [b],eax; } return 0; }   除了这意外,还有

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 356
精华内容 142
关键字:

不借助第三个变量交换