`
badboywang
  • 浏览: 63391 次
  • 性别: 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;
}

 

分享到:
评论

相关推荐

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

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

    JavaScript交换两个变量方法实例

    在平时的业务开发或者面试过程中,经常会遇到交换两个变量这种问题,于是,个人总结以下几种交换变量的方法: 1.方案一 使用一个临时变量来交换 2.方案二 使用ES6解构赋值语法来交换 3.方案三 利用数组 根据...

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

    普通的做法就是声明多一个临时变量tmp,进行数据交换过程中的缓存。这样的做法直观,易懂。但是,会增加内存的使用。 二、算术运算 var a = 1, b = 2; a = a + b; // a = 3, b = 2 b = a - b; // a = 3, b = 1 a =...

    python交换两个变量的值方法

    python里面可以实现无临时变量的交换 (a,b) = (b,a) 对于它的交换原理我深感好奇,因为这意味着python解释器很有可能做了件更多的工作。 如果说变量可以直接交换,那么列表的元素呢? lists[i], lists[j] =lists[j...

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

    为避免误触发,有些改为了txt格式,使用时请自行查看业务然后改为bat格式即可。

    Python实现变量数值交换及判断数组是否含有某个元素的方法

    本文实例讲述了Python实现变量数值交换及...然而Python中根本就不用这么复杂,如果要交换变量e1,e2彼此的值,就下面一行代码就足矣: e1,e2=e2,e1; 比如,如下的程序: e1=2; e2=3; print "e1:"+str(e1)+",e2:"+str

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

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

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

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

    可爱的Python之 交换值

    问题 You want to swap the ...你想去交换一些变量的值,但是你不想使用临时变量。 解决 Python's automatic tuple packing and unpacking make this a snap: python的自动tuple打包和解包可以做到这点:

    无参交换 —— 据说是交换的最高境界.txt

    将两个变量的值互相交换,但不允许借助任何其他变量临时存放其中的任何一个变量值。这称为“无参数交换”。 据说是交换的最高境界。

    JavaScript程序设计课件:基本语法综合练习.pptx

    把临时变量的值给变量2. 2.4. 综合练习 2、根据输入的年份计算年龄 在页面中弹出一个输入框,根据输入框输入的年份计算出当前的年龄 2.4. 综合练习 2、根据输入的年份计算年龄 案例分析: 弹出输入框,让用户输入...

    两个数据的交换

    对于两个数据交换,我们最常用的算法是: { temp = A; A = B; B = temp; } 这种算法采用一个临时变量temp,做中间媒介;有时候你是否想过一个问题不要临时变量能实现这个交换吗?

    JavaScript交换变量的常用方法小结【4种方法】

    在编码面试中,可能会问您“如何在没有临时变量的情况下交换2个变量?”。我很高兴知道执行变量交换的多种方法。在本文中,您将了解大约4种交换方式(2种使用额外的内存,而2种不使用额外的内存)。 1. 解构赋值 ...

    c-------------------lab------------------assignment

    问题3 WAP使用临时变量和不使用临时变量来交换两个数字。没有临时变量临时变量作业2问题1 WAP输入一个十进制数(以10为基数)并显示其十六进制和八进制等效项。问题2 WAP检查给定数字是偶数还是奇数。 a)使用if-...

    Social-Swap:社会交换

    在Shell中添加临时环境变量 在.env添加开发环境变量 我可以使用装饰器吗? 使用AJAX请求获取数据 与API后端集成 节点 Ruby on Rails 在开发中代理API请求 配置代理后出现“无效的主机头”错误 手动配置代理 配置...

    让你相见恨晚的十个Python骚操作

    前言 众所周知,Python 以语法简洁著称,同样实现一个功能,Java 可能要十来行,Python 一行就可以搞定。 Python 的代码之所以这么优雅,完全归功于其独有...一行代码搞定变量交换,无需临时变量,也无需异或操作。 In

    C++ Swap函数有几种写法?

    如果要求不用临时变量,可考虑异或的方式。 整型数比较容易理解,如果是字符串呢?字符串交换不能直接使用上面类似的方法赋值,想想原因是啥? 当然如果还可以用指针的指针。 上面的方法都是按特定的类型做的处理...

    Quadsort是一种稳定的非递归自适应合并排序,它比quicksort更快。-C/C++开发

    传统上,大多数排序算法都是使用二进制交换设计的,其中使用第三个临时变量对两个变量进行排序。 通常如下所示。 if(val [0]&gt; val [1]){tmp [0] = val [0]; val [0] = val [1]; val [1] = tmp [0]; 取而代之的是,...

    《你必须知道的495个C语言问题》

    第1章 声明和初始化.... 它不需要临时变量就可以交换a和b的值。 34 3.5 可否用显式括号来强制执行我所需要的计算顺序并控制相关的副作用?就算括号不行,操作符优先级是否能够控制计算顺序呢? 35 3.6 可是&&和

Global site tag (gtag.js) - Google Analytics