还是两个数的交换问题
#include<iostream.h>
void main()
{
int *a,*b;
int x,y;
int c;
cout<<"Input a b:";
cin>>x>>y;
a=new int(x);
b=new int(y);
c=b-a; //记录a与b的首地址距离
a=a+(c^0x80000000); /*
a地址加上距离c得到b地址
(因为*a与*b之间的大小关系,
c^0x80000000目的是为了
对距离值取反,否则就会出
现地址增减方向上的错误)
*/
b=b-(c^0x80000000);
cout<<"After Swap"<<endl;
cout<<"a Value:"<<*a<<endl;
cout<<"b Value:"<<*b<<endl;
}
也是用了中间变量,可能这样不够完善,但和c=a;a=b;b=c;比较起来要好得多。
毕竟c=a;a=b;b=c;当数据量大了的时候是有程序崩溃的危险的。
现在这个中间变量只记录两首地址的距离,在存储量上应该没问题。
这些应该是最基础的东西,复习下也好~~~
转载于:https://www.cnblogs.com/Random/archive/2007/03/20/681865.html
还是两个数的交换问题相关推荐
- 用指针和函数的方法完成两个数的交换
<程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p142 7.1.2 上级实训内容 [实训内容6]用指针和函数的方法完成两个数的交换 传递规则:主函数 ...
- 【c语言】输入两个数,交换这两个数后,再输出
<程序设计基础实训指导教程-c语言>杨莉 龚义建 科学出版社 ISBN 978-7-03-032846-5 p9 2.1.2 上机实训内容 [实训内容3] 编程实现:输入两个数,交换这两个 ...
- 指针,指针:分装一个函数,实现两个数的交换。 指向固定的区域
1.指针的引入 //第9行,取值运算符*,他把后面跟的内存地址中的数据"取出来": 2.指针变量的引入 什么是指针变量:存放地址的变量 什么是指针变量:存放指针的变量 指针 = 地 ...
- 实现两个数的交换(异或,加减)
1. 通常我们通过设置临时变量来实现两个数的交换,如下: void swap(int *a,int *b){int temp;temp=*a;*a=*b;*b=temp;} 2.还可以通过异或来实现两 ...
- 【C/C++】异或操作巧妙实现两个数的交换操作
今天在看OpenGL加载TGA格式图像用作纹理的代码时,看到关于RGB(A)顺序转换的一行代码时,捉一开始感到很困惑,后来想了想,就是实现交换操作. 原始代码: texture->imageDa ...
- (1)输入直角三角形的两个直角边的长度a,b,求斜边c的长度 (2) 编写一个程序,用于两个数的交换
(1)输入直角三角形的两个直角边的长度a,b,求斜边c的长度 (2) 编写一个程序,用于两个数的交换 import math a = float(input('请输入直角三角形直角边a的长度:')) ...
- 实现两个数交换python_编写一个程序,用于实现两个数的交换。_学小易找答案
[判断题]定喘穴定位在胸部 (10.0分) [其它]实现实心等腰三角形图案打印输出. [其它]编写一个程序,用于实现两个数的交换. [其它]实现空心等腰三角形图案打印输出. [判断题]表寒肺热证的代表 ...
- (指针详解1)例:用函数编写两个数的交换
前言: 我们在初学c语言时都会遇到的一个题目,那就是交换两个数字的大小,我们需要定义两个变量保存两个值,再定义一个temp进行中间值保存 int temp=0: int a=10: int b= ...
- 编写一个程序,用于实现两个数的交换。
编写一个程序,用于实现两个数的交换. x=int(input("请输入数字a:\n")) y=int(input("请输入数字b:\n")) int () c= ...
- C语言用fun函数实现两个数的交换
#include <stdio.h> void fun(int *x,int *y)//定义fun函数,此时需要注意与main函数时的定义方式相同 { int t;//定义一个中间 ...
最新文章
- 如何学好 Linux、C++,并搞定 BAT 面试 作者/分享人:天千
- Platforms/iPhoneSimulator.platform/Developer/usr/bin/g++-4.2 failed with exit code 1问题总结及解决方案...
- python把函数作为参数的函数
- php acl,php – 访问控制和XHR请求
- Android2D绘图二
- 数据库中间件mycat简单入门
- 关于Cocos2d-x发布游戏的时候遇到的问题和解决
- jadc连接oracle,用jdbc连接oracle的第一次经历
- mysql索引简单介绍
- Win32写一个极简定时关机软件的全部过程讲解
- Bitvise SSH Client连接Linux服务器教程和使用
- mysql 存储视频_数据库中怎样存储视频?谢谢各位
- CIFAR10数据集集 cifar-10-python.tar.gz
- HDU 6438 Buy and Resell【贪心】
- 聚观早报 | 特斯拉上海工厂被曝停产;富士相机X-Pro 3已停产
- DCloud短信验证申请
- qbittorrent 等待_qBittorrent下载BT电影教程
- 数据库分页数据被业务代码过滤后不足个数问题
- 地铁出行规划项目分析
- echarts 柱形图、折线图点击事件