`
huanyq2008
  • 浏览: 165920 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

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

 
阅读更多
(function(){
   var a = 10, b = 2;
   a = a + b;
   b = a - b;
   a = a - b;
   alert(a+" "+b);
})();

(function(){
   var a = 10,b=2;
   a = a^b;
   b = b^a;
   a = a ^b;
   alert(a+" "+b);
})();

(function(){
   var a =10,b =2 ;
   a=[a,b];
   b=a[0];
   a=a[1];
   alert(a+" "+b)
})();
//简化一下:
(function(){
   var a =10,b =2 ;
   a=[b,b=a][0];
   alert(a+" "+b)
})();

(function(){
  var a = 10,b = 2;
  a = {a : b, b : a};
  b = a.b;
  a = a.a;
  alert(a+" "+b);
})();

(function(){
  var a = 10,b = 2;
  a=(function(){
    try {
      return b;
    }
    finally {
      b = a;
    } 
  })();
  alert(a+" "+b);
})();

(function(){
   var a = 10,b = 2;
   eval("a="+b+";b="+a);
   alert(a+" "+b);
})();

(function(){
   var a =10,b =2 ;
   a = b+(b = a)*0;
   alert(a+" "+b)
})();

 

分享到:
评论

相关推荐

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

    代码如下: //by cloudgamer var a = 33,b=44 a=[a,b] b=a[0] a=a[1] 代码如下: //by Mr.司马 var a = 23,b=454; a = {a:b,b:a}; b = a.b; a = a.a; 评:1、2种解法是普遍解,只能交换数字,而3、4种则适用性更

    Java不使用中间变量交换两个数

    在程序中实现交换两个数的功能并不复杂,但如果不使用中间变量,需要动一下脑筋。在本文介绍了两个方法(其实原理都是一个)。其基本原理是数的中和。也是说,通过某种运算(二元运算)将a和b两个数变成一个数,并...

    java基础编程题源码.zip

    1.定义两个int 类型的变量 a 和 b ,分别打印输出a与b的‘加/减/乘/除/取余’的结果。2.定义一个int类型的变量 i ,输出这个...7.任意定义两个int类型的变量a=13和b=7,交换a和b的值,并打印交换后的结果(两种方法)

    C语言中交换int型变量的值及转换为字符数组的方法

    不使用其他变量交换两个整型的值: #include <stdio> void main(){ int a = 3; int b = 4; a = a ^ b;//使用异或交换 b = b ^ a; a = a ^ b; printf(%d, %d\n, a, b); a = a - b;//使用加减交换 b = a...

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

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

    C与C++笔试面试常考终极秘籍

    1.交换两个变量的值,不使用第三个变量。即a=3,b=5,交换之后a=5,b=3; 答案:有两种解法, 一种用算术算法, 一种用^(异或) a = a + b; b = a - b; a = a - b; or a = a^b; b = a^b; a = a^b; or a ^= b ^= a; ...

    C++复习资料之系列

    下列选项中,( a,b,c )能交换变量a和b的值。 (a) t=b ;b=a ;a=t; (b) a=a+b ;b=a-b ;a=a-b; (c) t=a ;a=b ;b=t; (d) a=b ; b=a ; 14.执行语句 int i = 10,*p = &i; 后,下面描述错误的是( a ...

    利用指针交换函数

    用指针变量作函数参数实现两数交换函数,利用该函数实现数组a和数组b中对应的元素。

    C语言程序设计-编写函数实现两个数据的交换,在主函数中输入任意三个数据,调用函数对这三个数据从大到小排序;.c

    C语言程序设计-编写函数实现两个数据的交换,在主函数中输入任意三个数据,调用函数对这三个数据从大到小排序;.c

    C++交换指针实例

    本文实例讲述了C++交换指针的...指针是内存地址,应该也算是整型变量,交换两个指针和交换两个整型变量类似,下面以两种方式进行。 传统C方式: 可以通过传递指向指针的指针来进行交换,核心代码如下: void m_swap(in

    C算法,AB交换

    #include #define uchar unsigned char #define uint unsigned int sbit d=P3^0; sbit f=P3^2; sbit g=P3^3;

    完美五十五C语言

    /*练习1:互换两个变量的值: 接收两个整数,分别保存在两 个变量中,通过第三个变量将 这两个变量的值互换。*/ #include void main() { int a,b,c; printf("a="); scanf("%d",&a); printf("b="); scanf("%d",&...

    两个对话框利用文档类为中介交换数据

    两个对话框利用文档类为中介交换数据 一,新建一个单文档的工程C2Dlg。 二,增加一个对话框IDD_INPUT,为对话框关联一个类CInputDlg。在上面增加一个编辑框,为它关联一个整型变量m_data。 三,增加一个对话框IDD_...

    Java位运算的应用

    (1) 判断int型变量a是奇数还是偶数 a&1 = 0 偶数 a&1 = 1 奇数 (2) 取int型变量a的第k位 (k=0,1,2……sizeof(int)),即a>>k&1 (3) 将int型变量a的第k位清0,即a=a&~(1 ) (4) 将int型变量a的第k位置1, 即a=a ...

    c程序设计习题参考(谭浩强三版)习题参考解答

    9.1定义一个代参数的宏,使两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。输出已交换后的两个值。 66 9.2输入两个整数,求它们相除的余数。用带参的宏来实现,编程序。 67 9.3 67 9.4给年份year定义...

    50道小问题的小程序

    1.声明两个变量:int n1 = 10, n2 = 20;要求将两个变量交换,最后输出n1为20,n2为10。扩展(*):不使用第三个变量如何交换? 2.用方法来实现:将上题封装一个方法来做。提示:方法有两个参数n1,n2,在方法中将n1与n2...

    java的传值与传引用详解

     传值还是传引用的问题,到此已经算是解决了,但是我们仍然不能解决这样一个问题:如果我有两个 int 型的变量 a 和 b,我想写一个方法来交换它们的值,应该怎么办?  结论很让人失望——没有办法!因此,我们只能...

    java基础,笔记03

    要交换a和b里面的值 int temp; temp a; a b; b temp;">a 3;b 2;a+ b 等价于 >a a + b; a % b;a a%b;结果a 1; b % a;b b%a;结果b 2; i + i++ ; i i + i ++ ; 2 i + ++i ; i i + ++i ; 3 i + i + i; i i + i + i...

Global site tag (gtag.js) - Google Analytics