最简单的交换两个数;
用到了异或运算符;
1 void A(int &a, int &b){ 2 a = a^b; 3 b = a^b; 4 a = a^b; 5 }
第二行 a=a^b;
第三行 b=a^b相当于b=a^b^b相当于b=a,将第二行算式代入;
第四行 a=a^b相当于a=a^b^a相当于a=b,将第二行第三行代入;
这样不用借助第三个辅助变量就能交换两个数的值;
用到的是:一个数与自身按位异或运算等于0;一个数与0按位异或运算是本身;
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步