Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2508844
  • 博文数量: 308
  • 博客积分: 5547
  • 博客等级: 大校
  • 技术积分: 3782
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-24 09:47
个人简介

hello world.

文章分类

全部博文(308)

分类: C/C++

2011-03-24 11:38:58

    用位运算操作实现两个整数的交换,如:x1 = 5,x2 = 10;交换后x1 = 10,x2 = 5;
     我是从书上看的代码,经过测试可以,呵呵:
  1. #include <stdio.h>

  2. int main(int argc, char *argv[])
  3. {
  4.   int a,b;
  5.   a = 5;
  6.   b = 10;
  7.   printf("a = %d, b = %d\n",a,b);
  8.   a = a ^ b;
  9.   b = b ^ a;
  10.   a = a ^ b;
  11.   
  12.   printf("a = %d, b = %d\n",a,b);
  13.   return 0;
  14. }
阅读(2299) | 评论(5) | 转发(0) |
0

上一篇:矩阵的乘法运算

下一篇:文件的读写

给主人留下些什么吧!~~

c05lwl27u2011-05-04 13:21:53

你看的是谭浩强的那本c吧

owinux2011-03-27 00:54:14

这样也能交换两个数:
b=a+b
a=b-a
b=b-a

小雅贝贝2011-03-25 09:50:48

文章不错~上首页了~~
支持,加油!!
希望以后要继续写博文,分享给大家。

chengxiaopeng2011-03-24 12:56:29

GFree_Wind: 其实使用异或来进行两个数的交换,实际上还不如使用中间变量进行交换快。这种交换这是一种技巧,利用数学。.....
呵呵,我是初学者。看书上的做法,然后练习一下。多多交流,愿你开心快乐。

GFree_Wind2011-03-24 12:13:40

其实使用异或来进行两个数的交换,实际上还不如使用中间变量进行交换快。这种交换这是一种技巧,利用数学。