#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

还是两个数的交换问题相关推荐

  1. 用指针和函数的方法完成两个数的交换

    <程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p142 7.1.2 上级实训内容 [实训内容6]用指针和函数的方法完成两个数的交换 传递规则:主函数 ...

  2. 【c语言】输入两个数,交换这两个数后,再输出

    <程序设计基础实训指导教程-c语言>杨莉 龚义建 科学出版社 ISBN 978-7-03-032846-5 p9 2.1.2 上机实训内容 [实训内容3] 编程实现:输入两个数,交换这两个 ...

  3. 指针,指针:分装一个函数,实现两个数的交换。 指向固定的区域

    1.指针的引入 //第9行,取值运算符*,他把后面跟的内存地址中的数据"取出来": 2.指针变量的引入 什么是指针变量:存放地址的变量 什么是指针变量:存放指针的变量 指针 = 地 ...

  4. 实现两个数的交换(异或,加减)

    1. 通常我们通过设置临时变量来实现两个数的交换,如下: void swap(int *a,int *b){int temp;temp=*a;*a=*b;*b=temp;} 2.还可以通过异或来实现两 ...

  5. 【C/C++】异或操作巧妙实现两个数的交换操作

    今天在看OpenGL加载TGA格式图像用作纹理的代码时,看到关于RGB(A)顺序转换的一行代码时,捉一开始感到很困惑,后来想了想,就是实现交换操作. 原始代码: texture->imageDa ...

  6. (1)输入直角三角形的两个直角边的长度a,b,求斜边c的长度 (2) 编写一个程序,用于两个数的交换

    (1)输入直角三角形的两个直角边的长度a,b,求斜边c的长度 (2) 编写一个程序,用于两个数的交换 import math a = float(input('请输入直角三角形直角边a的长度:')) ...

  7. 实现两个数交换python_编写一个程序,用于实现两个数的交换。_学小易找答案

    [判断题]定喘穴定位在胸部 (10.0分) [其它]实现实心等腰三角形图案打印输出. [其它]编写一个程序,用于实现两个数的交换. [其它]实现空心等腰三角形图案打印输出. [判断题]表寒肺热证的代表 ...

  8. (指针详解1)例:用函数编写两个数的交换

    ​​​前言: 我们在初学c语言时都会遇到的一个题目,那就是交换两个数字的大小,我们需要定义两个变量保存两个值,再定义一个temp进行中间值保存 int temp=0: int a=10: int b= ...

  9. 编写一个程序,用于实现两个数的交换。

    编写一个程序,用于实现两个数的交换. x=int(input("请输入数字a:\n")) y=int(input("请输入数字b:\n")) int () c= ...

  10. C语言用fun函数实现两个数的交换

    #include <stdio.h> void fun(int *x,int *y)//定义fun函数,此时需要注意与main函数时的定义方式相同 {     int t;//定义一个中间 ...

最新文章

  1. 如何学好 Linux、C++,并搞定 BAT 面试 作者/分享人:天千
  2. Platforms/iPhoneSimulator.platform/Developer/usr/bin/g++-4.2 failed with exit code 1问题总结及解决方案...
  3. python把函数作为参数的函数
  4. php acl,php – 访问控制和XHR请求
  5. Android2D绘图二
  6. 数据库中间件mycat简单入门
  7. 关于Cocos2d-x发布游戏的时候遇到的问题和解决
  8. jadc连接oracle,用jdbc连接oracle的第一次经历
  9. mysql索引简单介绍
  10. Win32写一个极简定时关机软件的全部过程讲解
  11. Bitvise SSH Client连接Linux服务器教程和使用
  12. mysql 存储视频_数据库中怎样存储视频?谢谢各位
  13. CIFAR10数据集集 cifar-10-python.tar.gz
  14. HDU 6438 Buy and Resell【贪心】
  15. 聚观早报 | 特斯拉上海工厂被曝停产;富士相机X-Pro 3已停产
  16. DCloud短信验证申请
  17. qbittorrent 等待_qBittorrent下载BT电影教程
  18. 数据库分页数据被业务代码过滤后不足个数问题
  19. 地铁出行规划项目分析
  20. echarts 柱形图、折线图点击事件

热门文章

  1. golang中的sync.Map
  2. 汇编语言--sbb指令
  3. mutable关键字
  4. 为什么在64位系统中指针的大小是8,而32位系统中却是4?
  5. LED和LCD的区别
  6. char s[] 和 char *s 的区别
  7. 数据结构: 顺序存储二叉树
  8. python十七:高阶函数
  9. ceph——rgw服务启不起来
  10. 第二十六天 iptables的nat功能