`
moxiaomomo
  • 浏览: 45405 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

如何在不使用第三个变量的前提下,交换两个变量的值

 
阅读更多
int a=10,b=20;

第一种方法:

a=a+b;
b=a-b;
a=a-b;             
(前提是支持 + - = 的操作)


第二种方法:

a^=b;
b^=a;
a^=b;
(原理还是一样,不过用到了二进制中的异或操作)

////////////////////////////
第三种方法:(未经验证)
a=a+b-(b=a);

(此方法貌似有误,很抱歉在这里误人子弟了。估计是先后赋值的问题,不过还没具体确定...)
/////////////////////////////////////////////


2
1
分享到:
评论
2 楼 刀枪剑戟 2011-04-18  
1 楼 yeshaoting 2011-04-18  
写得好.

相关推荐

    02交换两个变量的值

    主要涉及的知识点包括变量声明、赋值操作以及使用第三个辅助变量进行值交换的方法。 #### 变量声明与初始化 在任何编程语言中,变量都是用来存储数据的基本单元。本示例中的代码片段使用了VBScript(Visual Basic ...

    交换两个变量的值,不使用第三个变量的方法及实现.pdf

    本文主要介绍了四种不使用第三个变量来交换两个变量值的方法,适用于C/C++编程语言。 1. **算术运算**: 这种方法基于算术运算,例如加减法或乘除法。通过巧妙地使用算术运算,可以在不借助额外变量的情况下完成...

    Python3之不使用第三方变量,实现交换两个变量的值

    以上这篇Python3之不使用第三方变量,实现交换两个变量的值就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 您可能感兴趣的文章:python交换两个变量的值方法对Python中实现...

    不用第三方变量交换两数的值

    在编程中,交换两个数值是常见的操作,但有时我们可能会面临一种情况,即不允许使用额外的(第三方)变量来辅助交换。这个问题在各种编程语言中都有不同的解决方案,下面我们将详细探讨几种主流的方法。 首先,我们...

    不使用第三个变量进行交换的三种方式以及隐藏隐患

    在不使用第三个变量交换两个变量的值时,常见的方法有三种,分别是利用加法和减法,利用异或运算,以及利用位运算。这三种方法各自有不同的特点和潜在问题,以下是详细的知识点。 ### 1. 利用加减法交换变量 加...

    示例代码:不经过中间变量交换两个数

    以下是一段C语言代码示例,演示了如何使用位异或运算符实现不使用额外变量交换两个数的值: ```c void main() { int a = 3; int b = 1; // 第一步:a = a ^ b a = a ^ b; // a 的值现在是 3 ^ 1 = 2 // 第二...

    每日一题:不适用第三个变量,实现交换两个输入参数1

    "每日一题:不适用第三个变量,实现交换两个输入参数1"和【描述】描述了一个这样的问题,要求编写一个名为`swap`的函数,该函数接受两个参数`a`和`b`,并且在不使用第三个变量的情况下交换它们的值。 在【标签】...

    交换两个变量的值,不使用第三个变量的方法及实现.docx

    在编程中,交换两个变量的值是一个常见的任务,但有时我们可能希望避免使用第三个临时变量。本文探讨了几种不依赖额外变量实现交换的方法,主要针对C/C++编程语言。 1. **算术运算**: 算术运算方法利用加减法或乘...

    不要采用异或来交换两个变量

    在编程领域,尤其是在学习基本算法和数据结构的过程中,我们经常遇到如何交换两个变量值的问题。通常,教科书中会介绍几种方法,其中一种就是利用异或(XOR)操作来实现变量交换。然而,这种做法是否真的有效?本文...

    10不借助第三个变量,交换两个数 (使用异或^).zip

    不借助第三个变量,交换两个数。(使用异或^)

    两个数字的交换,三种方法

    方法一:使用第三方变量交换数据; 方法二:使用加减法,并且不使用第三方变量 思路:a加上b的和,减去a,就等于b,再用这个数减去b,就等于a。 方法三:使用异或方法交换,并且不使用第三方变量 ...

    PHP不用第三变量交换2个变量的值的解决方法

    但在某些特定场景,比如面试题目的限制或者是为了避免创建额外的临时变量,我们需要寻找不使用第三个变量的解决方法。 在PHP中,有几种方法可以在不使用第三变量的情况下实现变量值的交换: 1. 使用 substr() 和 ...

    Java两个变量的互换(不借助第3个变量)具体实现方法

    在Java编程中,有时我们需要交换两个变量的值,但又不希望使用额外的第三个变量来辅助这个过程。这种情况下,可以利用位运算中的异或(XOR)操作符来实现两个变量的互换。本文将详细讲解如何通过异或运算在Java中不...

    不使用第三变量交换C程序

    在C语言中,我们对两个变量交换都使用临时的第三变量,这个小程序没有使用第三变量进行交换,给了我们一个很好的思路

    Delphi变量值交换演示示例.rar

    本示例主要针对Delphi编程语言,展示了多种不同的方法来交换两个变量的值。以下是对标题和描述中涉及知识点的详细解释: 1. **中间变量法**:这是最直观的方法,通常用于初学者。首先创建一个临时变量,将一个变量...

    C#不借助第三个变量实现两整数交换

    c#中实现两个int变量的数值互换,在借助第三个变量做临时载体的情况下,非常简单。  int a = 10;  int b = 5;  int c ;  c = a;  a = b;  b = c;  如果不借助第三方变量,有几种实现的方法:  1....

    易语言源码易语言交换变量值源码.rar

    首先,我们可以使用第三个临时变量作为中介,将其中一个变量的值暂存,然后将另一个变量的值赋给第一个变量,最后将临时变量的值赋给第二个变量。这种方式简洁明了,代码如下: ```易语言 .整数变量 a = 5 .整数...

    不使用中间变量,交换int型的 a, b两个变量的值。

    在编程中,交换两个变量的值是一个常见的操作。在不使用中间变量的情况下,有几种巧妙的方法可以实现这一目标。这里我们将详细讨论四个示例,分别使用加减法、位操作和数组、对象来交换整数变量`a`和`b`的值。 1. ...

    PHP互换两个变量值的方法(不用第三变量)

    今天在这里我们就来看看,在PHP中如何在不使用第三变量的情况下,达到交换两个变量值得目的。详细的解说见代码注释,下面来一起看看吧。 一、substr() && strlen() 代码: <?php /** * 双方变量为字符串时,...

Global site tag (gtag.js) - Google Analytics