PHP不借助第三个变量交换值】的更多相关文章

总结一下: //方法一: $a = "abc"; $b= "def"; $a = $a^$b; $b = $b^$a; $a = $a^$b; //方法二: list($a, $b) = array($b, $a); //方法三: $a = $a . $b; $b = strlen( $b ); $b = substr( $a, 0, (strlen($a) - $b ) ); $a = substr( $a, strlen($b) ); //方法四:(这个就比较有…
1. 不借助第三个变量实现两个变量互换 代码如下: package himi.hebao; /** * 不借助第三个变量实现,两个变量互换 * 这里利用^异或实现两个变量的互换 * @author Administrator * */ public class TestDemo08 { public static void main(String[] args) { int a= 120; int b= 34; a= a^b; //进行变量互换 b= b^a; //进行变量互换 a= a^b;…
c#中实现两个int变量的数值互换,在借助第三个变量做临时载体的情况下,非常简单. ; ; int c ; c = a; a = b; b = c; 如果不借助第三方变量,有几种实现的方法: 1.异或算法(这种方法不借助第三个变量,也不会产生溢出,比较安全,但仅限整数类型) ; ; a ^= b; b ^= a; a ^= b; Console.WriteLine("{0} {1}", a, b); 2.直接赋值(有溢出的风险???(这里用Int32.MaxValue做测试,没有出现溢…
第一种:算术运算法 var a = 10; var b = 12; a = b - a; b = b - a; a = b + a; 它的原理是:把a.b看做数轴上的点,围绕两点间的距离来进行计算.具体过程:第一句"a=b-a"求出ab两点的距离,并且将其保存在a中:第二句"b=b-a"求出a到原点的距离(b到原点的距离与ab两点距离之差),并且将其保存在b中:第三句"a=b+a"求出b到原点的距离(a到原点距离与ab两点距离之和),并且将其保存…
在面试中被问到这个问题,想到两种解决方式,在此分享一下. 第一种,使用简单的数学运算达到目标(但是面试官往往会问你还有没有其他方式): public static void main(String[] args) { int a = 1; int b = 2; System.out.println("交换前:"); System.out.println("a = " + a); System.out.println("b = " + b); a…
>>> a,b,c,d=1,2,3,4>>> a,b,c,d=d,c,b,a>>> print(a,b,c,d)4 3 2 1>>>…
创建一个类,在该类中定义两个变量并为其指定初始值,然后交换两个变量的值,要求不允许借助第三个变量,只能使用异或运行实现两个变量值的交换. import java.util.Scanner; public class VariableExchange { public static void main(String[] args){ System.out.println("请输入变量A的值"); Scanner scanner=new Scanner(System.in); long A…
现在有两个变量,分别是a = 3, b = 4,那么我们不用第三个变量来调换a和b的值. <!DOCTYPE html><html><head>    <meta charset="utf-8">    <title>变量.作用域</title></head><body><script type="text/javascript">    var a = 3,…
package com.Summer_0424.cn; /** * @author Summer * a,b为2个整型变量,在不引入第三个变量的前提下写一个算法实现 a与b的值互换? */ public class Test03 { public static void main(String[] args) { int a = 2,b=5; //位运算方法 一个数被另一个数疑惑两次,就还是其本身. a=a^b; b=a^b;//相当于a^b^b,结果还是a a=a^b;//相当于a^b^a,结…
import java.util.Scanner; public class C8{ public static void main(String []args){ /* 8.输入三个double型的数据,放入到a,b,c三个变量中去,使用条件结构与交换逻辑将这三个变量中的值从小到大排列. */ Scanner input=new Scanner(System.in); System.out.println("请输入三个double型的数据:"); double a=input.nex…