jiangyulove
猪猪虾的虾
2012-02-18 20:56

如何将两个int变量的值交换位置(前提不用中间变量)?

已采纳

如何将两个int变量的值交换位置,例如 int a =1; int b =2; 结果为int a =2; int b =1;
不用中间变量!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

4条回答

  • ll89308839 ll89308839 9年前

    a=b+(b=a)-a;

    点赞 评论 复制链接分享
  • ll89308839 ll89308839 9年前

    打错了。。
    a=b+(b=a)*0;

    点赞 评论 复制链接分享
  • ll89308839 ll89308839 9年前

    a=b+(b-a)*0;
    这个不溢出吧

    点赞 评论 复制链接分享
  • pan1001 pan1001 9年前

    數值 不大 的時候 可以 用 kidding87 所提的方法 . 數值過大 會有出現 算术溢位

    正確 應該是 用 bit 運算 XOR 的 方式

    a = a XOR b
    b = b XOR a
    a = a XOR b

    參考 http://wooyon.iteye.com/blog/183940

    点赞 评论 复制链接分享