不适用第三方变量,交换两个数
2013-09-24 21:51
120 查看
异或实现:
void foo(int *a,int *b){
*a=*a^*b;
*b=*a^*b;
*a=*a^*b;
}
void main(){
int a=1,b=2;
foo(&a,&b);
printf("%d.%d.%d",a,b);
}
或者下例:
void foo(int *a,int *b){
*a=*a+*b;
*b=*a-*b;
*a=*a-*b;
}
void main(){
int a=1,b=2,c=3;
foo(&a,&b);
foo(&b,&c);
foo(&c,&a);
printf("%d.%d.%d",a,b,c);
}
void foo(int *a,int *b){
*a=*a^*b;
*b=*a^*b;
*a=*a^*b;
}
void main(){
int a=1,b=2;
foo(&a,&b);
printf("%d.%d.%d",a,b);
}
或者下例:
void foo(int *a,int *b){
*a=*a+*b;
*b=*a-*b;
*a=*a-*b;
}
void main(){
int a=1,b=2,c=3;
foo(&a,&b);
foo(&b,&c);
foo(&c,&a);
printf("%d.%d.%d",a,b,c);
}
相关文章推荐
- ZOJ Problem Set - 1251 Box of Bricks
- 我觉得要技术者上升到整体去考虑会好点
- linux安全-用户行为监控
- 黑马程序员_多线程2
- solaris 11安装图形界面
- android向Servlet发送请求无效
- intent传递对象的两种方法
- 基于B/S模式的推送
- hibernate查询时候报错
- cisco telnet开多用户权限及log查看
- 黑马程序员_多线程1
- 九度OnlineJudge之1032:ZOJ
- android xml解析 XmlPullParser的使用
- 设置自定义名的tabhost mTabH
- android退出整个应用程序
- 一个成功的人如何定义成功?
- ARC下IBOutlet用weak还是strong
- 使用Jquery+EasyUI进行框架项目开发案例讲解之一---员工管理源码分享
- 海外实习面试经历
- 1038. Recover the Smallest Number