zoukankan      html  css  js  c++  java
  • 不借助第三个变量交换两个变量的值

    交换两个变量的值,一般的解决方法就是用一个临时变量保存转换过程中的值因为如果直接进行交换的话:a=b;则a原来的值会被冲掉。

    比如:

    int a,b;

    int temp;

    temp=a;

    a=b;

    b=temp;

    只要在交换的过程中是a、b的值不被冲掉就可以达到交换的目的,实现的方法有下面两种(还有一种c指针方法就不介绍了)

    (1)int a=10,b=12;

           a=b-a;

           b=b-a;

           a=b+a;这样就完成了a、b的交换,并且没有借助第三个变量,因为惯性思维,这种方法会很难被想到

    (2)位运算来实现

           int a,b;

           a=a^b;

           b=b^a;

           a=a^b;

    先写这麽多吧,以后有新的方法再补充


    本文为博主原创文章,转载请注明出处:http://www.cnblogs.com/ysw-go/
    1、本博客的原创原创文章,都是本人平时学习所做的笔记,如有错误,欢迎指正。
    2、如有侵犯您的知识产权和版权问题,请通知本人,本人会即时做出处理文章。
    3、本博客的目的是知识交流所用,转载自其它博客或网站,作为自己的参考资料的,感谢这些文章的原创人员

  • 相关阅读:
    iptables防火墙-SNAT和DNAT
    exists & in
    系统演化之路
    promethue 采集traefik指标列表
    Grafana中变量
    Wireshark抓包
    http协议格式 基于ABNF语义定义
    Prometheus 管理常用知识点
    python时间转换
    通过salt-api获取minion的ip地址
  • 原文地址:https://www.cnblogs.com/ysw-go/p/4868149.html
Copyright © 2011-2022 走看看