交换a、b

有两个变量a和b,不使用任何中间变量交换a和b。

方法一:

采用如下方法:

a=a+b;

b=a-b;

a=a-b;

这样做的缺点就是如果a、b都是比较大的数,则a=a+b时就会越界。

而采用:

a=a^b;

b=a^b;

a=a^b;

无需担心越界的问题,这样就比较好。

时间: 2024-11-14 03:44:28

交换a、b的相关文章

如何使用GNS3和Cisco IOU搭建路由交换实验-IOU篇

前面介绍了GNS3的概念,安装,配置和使用,本篇将介绍怎么利用GNS3配置IOU从而实现使用GNS3和Cisco IOU搭建路由交换实验. 由于本篇篇幅较长,所以先过一下大纲: 1. IOU模拟环境介绍 2. IOU软件环境的准备 3. VMware虚拟机的安装.导入和配置 4. IOU镜像的上传 5. GNS3的配置 6. IOU模拟环境的实现 IOU模拟环境介绍 IOU即IOS running in Unix,最初是由思科内部人员开发来测试IOS的平台,后来流传到互联网经网友改进有了后来的W

如何不运用第三方变量实现两个数的交换

当遇到交换两个变量的时候,我们通常使用的是借助第三方变量实现两个数的交换.那么如果不使用第三方变量时,该怎么操作呢. 下面有两种方法: 1.通过已有的两个变量之间的加或减实现: 这种方法对于两个都是无限接进int取值范围,而相加超出int取值范围的情况不适用. 2.通过异或实现(异或符号为^) ******************************************************************************************************

交换两个整型变量的数值

#include<stdio.h>void swap(int *p,int *q){ int t;t=*p; *p=*q; *q=t;}main(){ int a=5,b=4,*p,*q;p=&a; q=&b;swap(p,q);printf("a=%d b=%d",a,b);return 0;} 总结: 1,swap是用户定义的函数,它的作业是交换量(a和b)的值,它的形参p和q是指针变量. 2,程序运行时,先执行mian函数 ,输入a和b的值.然后将a和

linux操作逻辑分区与交换分区

作业一: 1)   开启Linux系统前添加一块大小为15G的SCSI硬盘 2)   开启系统,右击桌面,打开终端 3)   为新加的硬盘分区,一个主分区大小为5G,剩余空间给扩展分区,在扩展分区上划分1个逻辑分区,大小为5G 4)   格式化主分区为ext3系统 [[email protected] 桌面]# mkfs.ext3 /dev/sdc1 5)   将逻辑分区设置为交换分区 [[email protected] 桌面]# mkswap /dev/sdc5 6)   启用上一步的交换分

交换安全三宝(DHCP Snooping+IPSG+DAI)简单实验

1 实验拓扑图 2 DHCP Snooping 2.1 基本DHCP Snooping配置: C2960#show running-config Building configuration... ! ipdhcp snooping vlan 10 ipdhcp snooping ! interface FastEthernet0/1 description ---Connected to DHCP_Server --- switchportaccess vlan 10 switchport m

Ubuntu15、Ubuntu14交换Ctrl和Caps Lock键

在Ubuntu12.04中,交换Ctrl和Caps Lock键非常简单,直接图形就可以设置,但是到了Ubuntu14之后居然没有了,只能去使用命令来设置了. setxkbmap -option ctrl:swapcaps 在终端输入如上命令就可以实现了,但是这样重启后就没有效果了. 在/etc/rc.local最后增加上这句话,重启后没有生效: 在/etc/profile最后中增加上这句话,重启后没有生效: 在/etc/bash.bashrc最后中增加这句话,重启后生效.

[Linux]创建和启用Swap交换区

如果你的服务器的总是报告内存不足,并且时常因为内存不足而引发服务被强制kill的话,在不增加物理内存的情况下,启用swap交换区作为虚拟内存是一个不错的选择,我购买的DigitalOcean VPS 512M内存基本不够用的,好在VPS的母鸡使用的SSD,正常读写速度都在300MB/s以上,启用swap后性能提高了不少,特别是在处理消耗大内存的脚本方面 创建交换区原则:1.创建的swap交换区大小应该大于实际物理内存的容量大小,但是不要过大,以免造成硬盘空间浪费.2.如果内存IO请求频繁,而单一

UPDATE从左向右,变量优先,逐行更新.顺序执行的,可以交换两列之间的值

CREATE TABLE tab_update (id TINYINT,n1 NVARCHAR(30),v1 NVARCHAR(30),s1 NVARCHAR(30)) INSERT INTO tab_update (id,n1,v1,s1) SELECT 1,'天','土豆','章子怡' UNION ALL SELECT 2,'集团','黄瓜','汪峰' UNION ALL SELECT 3,'宇宙','茄子','杰克隽逸' UNION ALL SELECT 4,'海洋','西红柿','刘德华

Cisco 2960保存配置到本地,其他思科路由和交换系列同样适用

还是一台Cisco 2960坏了,但是没有管理人员,也没有之前配置,虽然2960很简单,但是连VLAN什么的信息都没有怎么搞啊,于是挨个询问大致了解VLAN的划分后,配了上去,客户也没反应什么问题,应该是没配错了,但是为了下次麻烦给客户做了个备份. 虽然是2960,但是在3560.3700.4500.6500.1800.2800.3800等系列我都试过,同等适用. (1)你本机要接到交换机,记得交换机配置管理IP地址:192.168.117.11: (2)要是直连交换机的话,本机和交换机必须在同

交换变量的值

方法一:借助第三方变量 1 #region 1 利用第三方变量 2 int a = 10; 3 int b = 20; 4 Console.WriteLine("交换前的值:a={0},b={1}", a, b); 5 Console.ReadKey(); 6 int temp = a; 7 a = b; 8 b = temp; 9 Console.WriteLine("交换后的值:a={0},b={1}", a, b); 10 Console.ReadKey();