目录

临时变量交换法

加减法

异或法


已知两个整型变量的值,要求两个值进行交换

临时变量交换法

  1. 首先假设两个值为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;
}

一脸懵逼的完成了数据内容交换。体会到了赋值语句的美妙之处。

异或法

  1. C语言中异或符号是:^,是一个内部运算符,异或运算符有称为XOR运算符,不包括于任何头文件。
  2. 主要功能如下:
  • 与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】给定两个整形变量的值,将两个值的内容进行交换。(内附异或法原理讲解哦~)相关推荐

  1. 交换两个整形变量的数值

    课堂问题一: #include<stdio.h>void swap(int *p,int *q) {int *m;printf("m=%d\n",m);printf(& ...

  2. C语言面试题--已知整形变量在内存中占4个字节的空间,现有一无符号整形变量a = 0x20190125,请编写函数求出变量a所占内存每个字节的值是多少?

    已知整形变量在内存中占4个字节的空间,现有一无符号整形变量a = 0x20190125,请编写函数求出变量a所占内存每个字节的值是多少? 用共用体方法:共用体内的空间是公用的,每一个成员都可以访问共用 ...

  3. C++实现1.交换两个整形变量的内容.2.不创建临时变量的条件下,交换两个数的内容.3.求是个整数中的最大值.4.将三个数按从大到小输出.5.求两个数的最大公约数.

    / //给定两个整型变量的值,并交换他们的值 int main(){ int a = 10; int b = 20; int temp = a; //创建一个临时变量,来做交换值的中间媒介 a = b ...

  4. 两个整形变量,不用中间变量进行替换!

    刚刚在看评论的时候发现的,好像觉得有点用吧,先记下来了~ 两个整型变量,不用中间变量进行替换. 嚴格的講,這個題目是無解的. 有很多人會有這樣的答案: int a = ?; int b = ?; a= ...

  5. R语言ggplot2可视化散点图、可视化两个数值变量之间的关系、使用geom_smooth函数基于loess方法拟合数据点之间的趋势关系曲线、自定义数据点的大小、色彩、添加主标题、副标题、题注信息

    R语言ggplot2可视化散点图.可视化两个数值变量之间的关系(Scatter plot).使用geom_smooth函数基于loess方法拟合数据点之间的趋势关系曲线.自定义数据点的大小.色彩.添加 ...

  6. R语言使用coin包应用于独立性问题的置换检验(permutation tests、响应变量是否独立于组、两个数值变量是独立的吗、两个分类变量是独立的吗)、以及coin包的常用置换检验函数

    R语言使用coin包应用于独立性问题的置换检验(permutation tests.响应变量是否独立于组.两个数值变量是独立的吗.两个分类变量是独立的吗).以及coin包的常用置换检验函数 目录

  7. R语言置换检验(permutation tests、响应变量是否独立于组、两个数值变量是独立的吗、两个分类变量是独立的吗)、置换检验的基本步骤、R语言自助法Bootstrapping计算置信区间

    R语言置换检验(permutation tests.响应变量是否独立于组.两个数值变量是独立的吗.两个分类变量是独立的吗).置换检验的基本步骤.R语言自助法Bootstrapping.自助法计算单个统 ...

  8. R语言使用两个分类变量创建双向表(Two Way Table、两个分类变量的频率表)实战: 矩阵的双向表、dataframe的双向表、条形图和马赛克图来可视化频率表

    R语言使用两个分类变量创建双向表(Two Way Table.两个分类变量的频率表)实战: 矩阵的双向表.dataframe的双向表.条形图和马赛克图来可视化频率表 目录

  9. R语言ggplot2可视化:拟合二次曲线(quadratic curve)并使用ggplot2进行可视化、可视化两个响应变量和一个预测变量的二次曲线

    R语言ggplot2可视化:拟合二次曲线(quadratic curve)并使用ggplot2进行可视化.可视化两个响应变量和一个预测变量的二次曲线 目录

  10. R语言构建仿真列联表并进行卡方检验(chisq.test):检验两个分类变量是否独立、输出期望的列联表

    R语言构建仿真列联表并进行卡方检验(chisq.test):检验两个分类变量是否独立.输出期望的列联表 目录

最新文章

  1. 机器学习(MACHINE LEARNING)MATLAB非线性曲线拟合方法
  2. 用cookie实现保存密码
  3. Git学习记录 力做全网最强入门教程
  4. 笔记-信息系统开发基础-CMMI过程域分类-连续式的模型
  5. 为什么机器学习工程师用PyTorch的多于TensorFlow?
  6. 各层作用_土工布有什么作用呢?
  7. 企业生产环境利用ATIES对服务器进行远程备份
  8. 后勤管理系统_高校后勤设备报修管理系统_易报修系统高校后勤管理系统_免费高校后勤管理系统...
  9. 计算机基础竞赛知识试题,计算机基础知识及基本技能操作竞赛试题
  10. 程序员必备的8个学习工具
  11. 案例征集 | 2021中国数据资产管理工具市场研究报告
  12. 谢烟客---------Linux之Aho Weinberger Kernighan
  13. 如何使用微信开发者工具查看Appid以及SECRET
  14. 微信公众号推送模板消息
  15. 【Book】剑指Offer -- By 何海涛
  16. 接入FaceBook登录和遇到问题排查
  17. 一看就会的C语言数组(详解易懂)
  18. 共轭梯度算法之FR算法
  19. 如何正确地进入基于x86-64Bit Windows系统的商业软件破解领域
  20. DG保护模式--3种

热门文章

  1. RT-Preempt笔记
  2. H-Index H指数
  3. vue中使用file-saver导出文件
  4. QT中的explicit关键字的意思
  5. 等差数列计算机函数公式大全,等差数列公式大全
  6. 人活着,到底为了啥?
  7. BZOJ5109:[CodePlus 2017]大吉大利,晚上吃鸡! (最短路+Hash表+二进制压位)
  8. 分镜头故事板Toon Boom Storyboard Pro 6简体中文版完美激活版
  9. IJCAI 2022 | 量化交易相关论文(附论文链接)
  10. 轻松教你苹果airdrop怎么用