`
sunting_bcwl
  • 浏览: 95996 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

交换两个变量的值,不使用第三个变量

 
阅读更多
int a = 3;
int b = 5;

方法一:
a = a + b;
b = a - b;
a = (a - b) / 2;
b = a + b;

方法二:
b ^= a ^= b ^= a;
分享到:
评论
3 楼 sunting_bcwl 2010-10-07  
恩,有道理,内联汇编也可以,不过貌似不需要xchg指令,直接用输入输出寄存器特性就可以了

int a = 3;
int b = 5;

__asm__ (
   "nop\n\t"
   : "=a"(b), "=b"(a)
   : "0" (a), "1" (b)
);

printf("a=%d, b=%d\n", a, b);
2 楼 deepfuture 2010-10-06  
用内联汇编吧
xchg 指令
1 楼 0704681032 2010-10-05  
  a = a+b;
     b = a-b;
     a = a-b;

相关推荐

    02交换两个变量的值

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

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

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

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

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

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

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

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

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

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

    通常情况下,交换两个变量的值需要第三个临时变量作为中介。但是,通过巧妙利用位异或运算符,我们可以实现不使用任何额外变量来交换两个数的值。 具体步骤如下: 1. 使用位异或运算符计算两个变量的异或值,并将...

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

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

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

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

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

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

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

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

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

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

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

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

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

    使用三种方法交换来个数字 方法一:使用第三方变量交换数据; 方法二:使用加减法,并且不使用第三方...方法三:使用异或方法交换,并且不使用第三方变量 思路:一个数异或另一个数偶次,都等于这个数本身。

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

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

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

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

    JavaScript交换两个变量方法实例

    交换变量可以让我们在不使用临时变量的情况下,直接交换两个变量的值。以下是几种常见的JavaScript中交换两个变量值的方法,每种方法都有其独特之处和适用场景。 1. 使用临时变量来交换变量值 这是最传统也是最直观...

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

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

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

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

Global site tag (gtag.js) - Google Analytics