不使用中间变量,交换int型的 a, b两个变量的值。
//by ppchen
var a = 10, b = 2;
a = a + b;
b = a - b;
a = a - b;
//by Mr.司马
var a = 10000,b=245
a = a^b;
b = b^a;
a = 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种则适用性更广。
相关推荐
-
不使用中间变量,交换int型的 a, b两个变量的值。
复制代码 代码如下: //by ppchen var a = 10, b = 2; a = a + b; b = a - b; a = a - b; 复制代码 代码如下: //by Mr.司马 var a = 10000,b=245 a = a^b; b = b^a; a = 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;
-
python交换两个变量的值方法
大部分语言,例如c语言,交换两个变量的值需要使用中间变量. 例如交换a,b 伪代码: tmp = a a = b b = tmp python里面可以实现无临时变量的交换 (a,b) = (b,a) 对于它的交换原理我深感好奇,因为这意味着python解释器很有可能做了件更多的工作. 如果说变量可以直接交换,那么列表的元素呢? lists[i], lists[j] =lists[j], lists[i] 是否可以实现列表i,j元素的互换,如果可以实现,原理是什么? 可以实现交换,至于原理,可以用
-
Python3之不使用第三方变量,实现交换两个变量的值
method 1: a,b = b,a method 2: a = a+b b = a-b a = a-b 以上这篇Python3之不使用第三方变量,实现交换两个变量的值就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
-
java如何交换这两个变量的值方法介绍
1.借助中间量交换 int x = 10; int y = 20; int temp = x; x = y; y = temp; 此种方法可以将中间量看成空杯,即把temp看成是空杯, 把x看成是装有白酒的杯子,把y看成是装有红酒的杯子 int temp = x; 把白酒倒到空杯中,此时temp装有白酒,x变成空杯 x = y; 把y中的红酒倒到x空杯中,此时x装有红酒,y变成空杯 y = temp; 把白酒倒到y空杯中,此时x装有红酒,y装有白酒,实现x和y的互换 2.数值相加减交换 int
-
C语言中交换int型变量的值及转换为字符数组的方法
不使用其他变量交换两个整型的值: #include <stdio.h> 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 + b; a = b - a; printf("%d, %d\n", a, b); a ^= b ^= a ^= b; printf
-
PHP不用第三变量交换2个变量的值的解决方法
以前做过一道php面试题是这样的:不使用第三个变量实现交换两个变量的值.一般都是借助第三个中间变量来实现原来两个变量的值交换,但是这道题却要求不能使用中间变量,这对于初学者来说也算是一个难题了.网上找到的几种方法总结如下: 复制代码 代码如下: //字符串版本 结合使用substr,strlen两个方法实现$a="a";$b="b";echo '交换前 $a:'.$a.',$b:'.$b.'<br />';$a.=$b;$b=substr($a,0,(s
-
mysql日期date型和int型互换的方法
一.date型转换成int型 UNIX_TIMESTAMP('1997-10-04 22:23:00') =====> 875996580 二.int型转换成date型 FROM_UNIXTIME(875996580) =====> '1997-10-04 22:23:00' PHP里面将int型数据转换成日期输出 echo date('Y-m-d',$date); PHP里面将date型数据输出: echo $date; PHP里面将date型数据转换成int型: strtotime($d
-
用32位int型变量表示单引号括起来的四个字符的深入探讨
在C.C++中可以用32位int型变量表示单引号括起来的四个字符,例如下面代码中的示例: 复制代码 代码如下: // 字符c的16进制值是0x63,字符o的16进制值是0x6f, // 字符n的16进制值是0x6e int what = 'conn'; printf("The address of what is 0x%x \n", &what); printf("what 0x%x \n", what); if (what == 0x636f6e6e) {
-
JS实现不用中间变量temp 实现两个变量值得交换方法
1.使用加减法; var a=1; var b=2; a=a+b; b=a-b; a=a-b; 2.使用乘除法(乘除法更像是加减法向乘除运算的映射) var a=1; var b=2; a = a * b; b = a / b; a = a / b; 注意:该方法可以交换整型和浮点型数值的变量,但在处理浮点型的时候有可能出现精度的损失 而且乘除时b不能为0; 3.使用数组的灵活性 var a=1; var b=2; a=[b,b=a][0]; 总结 以上所述是小编给大家介绍的JS实现不用中间变
-
Java利用移位运算将int型分解成四个byte型的方法
package 移位运算; public class 移位运算 { public static void main(String[] args) { //00000111 01011011 11001101 00010101 int n=123456789; //n为需要进行移位处理的32位int型初始值 byte[] a =chai(n); for (int i = 0; i < a.length; i++) { byte b=a[i]; System.out.print(b+" &qu
随机推荐
- 一个伴随ASP.NET从1.0到4.0的OutputCache Bug介绍
- struts2.2.3+spring3.1.0+mybatis3.1.0框架整合集成简单demo
- ASP.NET 定时器回调方法的重入
- django model去掉unique_together报错的解决方案
- android手机端与PC端使用adb forword通信
- 面向对象Javascript核心支持代码分享
- iframe的父子窗口之间的对象相互调用基本用法
- linux网络编程用到的网络函数详解用和使用示例
- JS实现的在线调色板实例(附demo源码下载)
- 理解javascript对象继承
- Jquery 1.42 checkbox 全选和反选代码
- CSS实现同一背景图的导航菜单
- Windowns Diskpart下合并分区的方法dos下
- 深入谈谈java的枚举(enum)类型
- asp.net Repeater 自增
- Android ViewDragHelper使用方法详解
- 用python的requests第三方模块抓取王者荣耀所有英雄的皮肤实例
- Swift Json实例详细解析
- 简单了解Ajax表单序列化的实现方法
- Android实现屏幕手写签名