数字类型不引入第三个变量就交换两个元素的值!

算术运算

1 int a,b;
2 a=10;b=12;
3 a=b-a; //a=2;b=12
4 b=b-a; //a=2;b=10
5 a=a+b; //a=12;b=10

它的原理:把a,b看做数轴上的两个点。
第一句“a=b-a”求出了ab两点之间的距离,并且将其保存在a中;
第二句“b=b-a”求出了a到原点的距离(b到原点的距离减去ab两点距离),并且将其保存在b中;
第三句“a=b+a”求出了b到原点的距离(a到原点的距离加上ab两点距离),并且将其保存在a中。

缺点:只能用于数字类型,字符串的交换就不行。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 专业考题类型管理运行工作负责人一般作业考题内容选项A选项B选项C选项D选项E选项F正确答案 变电单选GYSZ本规程...
    小白兔去钓鱼阅读 13,416评论 0 13
  • 通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换。代码如下: 这种算法易于理解,特别适合帮助...
    愤怒的八五砖阅读 3,968评论 0 3
  • 【前言】数轴是数学上的一个概念,相传是笛卡尔发明的。数轴是数学上最为重要的一个概念,将数和形完美地结合和统一起来,...
    e93f208fa9ea阅读 6,006评论 1 0
  • 选择题部分 1.(),只有在发生短路事故时或者在负荷电流较大时,变流器中才会有足够的二次电流作为继电保护跳闸之用。...
    skystarwuwei阅读 14,788评论 0 7
  • 感赏儿子对工作的态度,天气冷了晚上又睡得晚,平时儿子都起得有些晚。今天上午11点的课,本想今天我休息让儿子多...
    不一样的我和你阅读 2,361评论 0 2

友情链接更多精彩内容