【C语言-09】给定两个整形变量的值,将两个值的内容进行交换。(内附异或法原理讲解哦~)
目录
临时变量交换法
加减法
异或法
已知两个整型变量的值,要求两个值进行交换。
临时变量交换法
- 首先假设两个值为X,Y,需要将X的内容放入Y中,将Y的值放入X中,要完成这个过程,需要创建一个同类型的临时变量Z,整个交换过程为:
- 首先将X的值赋值给临时变量Z;
- 接着讲Y中的值赋值给变量X;
- 最后将临时变量Z的值赋值给变量Y,这个交换过程完成;
- 示例代码如下:
#include<stdio.h>
int main() {int X = 5;int Y = 10;int Z;Z = X;X = Y;Y = Z;printf("X=%d Y= %d", X, Y);return 0;
}
2.交换之后输出值为:
3.这样便完成了已知两个值的数值交换;
加减法
代码如下:
#include<stdio.h>int main() {int X = 5;int Y = 10;X = X + Y;Y = X - Y;X = X - Y;printf("X=%d Y= %d\n", X, Y);return 0;
}
一脸懵逼的完成了数据内容交换。体会到了赋值语句的美妙之处。
异或法
- C语言中异或符号是:^,是一个内部运算符,异或运算符有称为XOR运算符,不包括于任何头文件。
- 主要功能如下:
- 与1异或,可以使特定位翻转;
- 与0异或,保留其值;
- 交换两个值,不用临时变量;
- 代码如下:
#include<stdio.h>int main() {int X = 5;int Y = 10;X = X ^ Y;Y = Y ^ X;X = X ^ Y;printf("X=%d Y= %d\n", X, Y);return 0; }
原理如下:
^在C语言里的作用按位异或操作费,相同结果为0,不同结果为1,将本题中X,Y的值用二进制表示:
X=0101, Y=1111;
则执行X = X ^ Y后,X=1010;
执行 Y = Y ^ X后,Y=0101;
再执行 X = X ^ Y后,X=1111;
bingou!!!!成功完成数值交换!!!
【C语言-09】给定两个整形变量的值,将两个值的内容进行交换。(内附异或法原理讲解哦~)相关推荐
- 交换两个整形变量的数值
课堂问题一: #include<stdio.h>void swap(int *p,int *q) {int *m;printf("m=%d\n",m);printf(& ...
- C语言面试题--已知整形变量在内存中占4个字节的空间,现有一无符号整形变量a = 0x20190125,请编写函数求出变量a所占内存每个字节的值是多少?
已知整形变量在内存中占4个字节的空间,现有一无符号整形变量a = 0x20190125,请编写函数求出变量a所占内存每个字节的值是多少? 用共用体方法:共用体内的空间是公用的,每一个成员都可以访问共用 ...
- C++实现1.交换两个整形变量的内容.2.不创建临时变量的条件下,交换两个数的内容.3.求是个整数中的最大值.4.将三个数按从大到小输出.5.求两个数的最大公约数.
/ //给定两个整型变量的值,并交换他们的值 int main(){ int a = 10; int b = 20; int temp = a; //创建一个临时变量,来做交换值的中间媒介 a = b ...
- 两个整形变量,不用中间变量进行替换!
刚刚在看评论的时候发现的,好像觉得有点用吧,先记下来了~ 两个整型变量,不用中间变量进行替换. 嚴格的講,這個題目是無解的. 有很多人會有這樣的答案: int a = ?; int b = ?; a= ...
- R语言ggplot2可视化散点图、可视化两个数值变量之间的关系、使用geom_smooth函数基于loess方法拟合数据点之间的趋势关系曲线、自定义数据点的大小、色彩、添加主标题、副标题、题注信息
R语言ggplot2可视化散点图.可视化两个数值变量之间的关系(Scatter plot).使用geom_smooth函数基于loess方法拟合数据点之间的趋势关系曲线.自定义数据点的大小.色彩.添加 ...
- R语言使用coin包应用于独立性问题的置换检验(permutation tests、响应变量是否独立于组、两个数值变量是独立的吗、两个分类变量是独立的吗)、以及coin包的常用置换检验函数
R语言使用coin包应用于独立性问题的置换检验(permutation tests.响应变量是否独立于组.两个数值变量是独立的吗.两个分类变量是独立的吗).以及coin包的常用置换检验函数 目录
- R语言置换检验(permutation tests、响应变量是否独立于组、两个数值变量是独立的吗、两个分类变量是独立的吗)、置换检验的基本步骤、R语言自助法Bootstrapping计算置信区间
R语言置换检验(permutation tests.响应变量是否独立于组.两个数值变量是独立的吗.两个分类变量是独立的吗).置换检验的基本步骤.R语言自助法Bootstrapping.自助法计算单个统 ...
- R语言使用两个分类变量创建双向表(Two Way Table、两个分类变量的频率表)实战: 矩阵的双向表、dataframe的双向表、条形图和马赛克图来可视化频率表
R语言使用两个分类变量创建双向表(Two Way Table.两个分类变量的频率表)实战: 矩阵的双向表.dataframe的双向表.条形图和马赛克图来可视化频率表 目录
- R语言ggplot2可视化:拟合二次曲线(quadratic curve)并使用ggplot2进行可视化、可视化两个响应变量和一个预测变量的二次曲线
R语言ggplot2可视化:拟合二次曲线(quadratic curve)并使用ggplot2进行可视化.可视化两个响应变量和一个预测变量的二次曲线 目录
- R语言构建仿真列联表并进行卡方检验(chisq.test):检验两个分类变量是否独立、输出期望的列联表
R语言构建仿真列联表并进行卡方检验(chisq.test):检验两个分类变量是否独立.输出期望的列联表 目录
最新文章
- 机器学习(MACHINE LEARNING)MATLAB非线性曲线拟合方法
- 用cookie实现保存密码
- Git学习记录 力做全网最强入门教程
- 笔记-信息系统开发基础-CMMI过程域分类-连续式的模型
- 为什么机器学习工程师用PyTorch的多于TensorFlow?
- 各层作用_土工布有什么作用呢?
- 企业生产环境利用ATIES对服务器进行远程备份
- 后勤管理系统_高校后勤设备报修管理系统_易报修系统高校后勤管理系统_免费高校后勤管理系统...
- 计算机基础竞赛知识试题,计算机基础知识及基本技能操作竞赛试题
- 程序员必备的8个学习工具
- 案例征集 | 2021中国数据资产管理工具市场研究报告
- 谢烟客---------Linux之Aho Weinberger Kernighan
- 如何使用微信开发者工具查看Appid以及SECRET
- 微信公众号推送模板消息
- 【Book】剑指Offer -- By 何海涛
- 接入FaceBook登录和遇到问题排查
- 一看就会的C语言数组(详解易懂)
- 共轭梯度算法之FR算法
- 如何正确地进入基于x86-64Bit Windows系统的商业软件破解领域
- DG保护模式--3种