`
badboywang
  • 浏览: 64439 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

不用临时变量也可以交换变量的值

 
阅读更多

方法一:

void swap(int *p, int *q)
{
    *p = *p + *q;
    *q = *p - *q;
    *p = *p - *q;
}

 

方法二:

#include <stdio.h>

int main(int argc, char *argv[])
{
    int a = 2, b = 6;

    a = a ^ b;
    b = b ^ a;
    a = a ^ b;

    printf("a = %d b = %d\n", a, b);

    return 0;
}

 方法三:

#include<iostream>
using namespace std;
int main()
{
	int a = 40;
	int b = 30;
	a = a+b-(b=a) ;
	cout << a << " " << b << endl;
	return 0;
}

 

分享到:
评论

相关推荐

    易语言交换变量值

    在易语言中,交换变量值有多种方式,可以使用临时变量,也可以不使用临时变量。临时变量通常用来暂存其中一个变量的值,然后将另一个变量的值赋给第一个变量,最后将临时变量的值赋给第二个变量。这种方法简单明了,...

    消除了临时变量的冒泡排序

    array[j] ^= array[j + 1] # 无临时变量交换 swapped = True if not swapped: break # 如果一轮下来没有发生过交换,说明序列已有序,提前结束 # 示例:对一个未排序的数组进行冒泡排序 unsorted_array = [5, 3...

    BAT批处理脚本-加密解密-交换两个变量的值而不使用临时变量.zip

    总的来说,这个压缩包提供了一个关于批处理脚本中如何不使用临时变量交换两个变量值的示例,同时提醒了我们批处理脚本在加密解密、文件操作和自动化方面的应用。学习和理解这些概念,可以帮助我们更好地利用批处理脚...

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

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

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

    4. **异或法**:异或操作符`xor`在某些情况下可以无临时变量地交换值,前提是`A`和`B`不含有负数或溢出: ```delphi A := A xor B; B := A xor B; A := A xor B; ``` 5. **汇编法**:在Delphi中,可以使用Pascal的`...

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

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

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

    标准方法是使用一个临时变量来辅助交换,但有时我们可能希望避免使用额外的存储空间。本文主要介绍了四种不使用第三个变量来交换两个变量值的方法,适用于C/C++编程语言。 1. **算术运算**: 这种方法基于算术运算...

    python数字金字塔-31-交换变量的值之方法二.ev4.rar

    在本主题"python数字金字塔-31-交换变量的值之方法二"中,我们将探讨除了传统的方法(如使用临时变量)之外的另一种方法来交换变量的值。这种方法通常更加简洁且易于理解。 首先,让我们回顾一下传统的交换变量值的...

    JavaScript交换两个变量值的七种解决方案

    下面的方案都不会有临时变量,我总结了一下,其实不使用临时变量的思路都是让其中一个变量变成一个a和b都有关系的值,这样可以先改变另一个变量值, 最后改变原修改的变量值 比如这个 a += b; b = a - b; a

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

    传统的变量交换方法通常采用一个临时变量来进行值的存储与传递。例如: 1. **定义临时变量**:`int temp;` 2. **保存原始值**:`temp = a;` 3. **交换值**:`a = b;` 4. **恢复值**:`b = temp;` #### 异或交换法...

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

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

    变量交换的几种常见方法

    最直观的变量交换方式通常是通过一个临时变量来完成,即创建一个额外的变量存储其中一个变量的值,再进行交换。然而,这种方式虽然简单易懂,但在某些情况下(如内存资源紧张的环境)可能不是最优选择。因此,我们...

    nihao.rar_代码 变量交换

    在某些支持位操作的语言中,如C/C++,还可以使用异或操作符(^)来交换变量值: ```c++ a = a ^ b; b = a ^ b; a = a ^ b; ``` 异或操作具有自反性和结合性,使得这个方法能无条件地交换两个变量的值。 标签...

    易语言交换变量值源码-易语言

    在易语言中,“交换变量值”是一个常见的操作,通常用于对两个变量进行数据的互换,这种操作在各种算法和程序逻辑中都有广泛应用。 在易语言中,实现“交换变量值”的源码并不复杂。通常,我们可以使用第三个临时...

    用异或来交换两个变量能提高速度是错误的

    1. **传统方法**:使用一个临时变量来帮助交换两个变量的值。这种方法简洁明了,易于理解。 ```c void reverse_by_swap(char* str, int n) { char* begin = str; char* end = str + n - 1; while (begin ) { ...

    两变量值互换

    基于这个特性,我们可以实现两变量值的无辅助变量交换: ```python a = a ^ b b = a ^ b a = a ^ b ``` 在这段代码中,第一次异或操作后,a中保存了a和b的异或值。第二次异或操作将a的异或值与b再次异或,此时b...

    python交换两个变量的值方法

    通过上述介绍,我们可以了解到Python中交换变量的值不仅简单直观,而且效率很高。它充分利用了Python的动态特性,使得开发者能够用更少的代码完成同样的任务。无论是交换简单的变量还是列表中的元素,Python都提供了...

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

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

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

    在编程中,交换两个变量的值是一个常见的任务,但有时我们可能希望避免使用第三个临时变量。本文探讨了几种不依赖额外变量实现交换的方法,...在大多数情况下,标准的临时变量交换方式因其清晰性和通用性而被广泛接受。

    JavaScript两个变量交换值的实现方法

    为了解决上述问题,我们可以采用异或运算来交换变量的值,异或运算是一种位运算,其特点是可以实现无损的数据交换,因为a^b^b总是等于a: ```javascript let a = 1, b = 2; a = a ^ b; // a = 3, b = 2 b = a ^ b; ...

Global site tag (gtag.js) - Google Analytics