原文:面试记录00:在C语言中不使用任何中间变量如何将a、b的值进行交换(三种方法)——来自一小萌新工程师的复习

今天面试嵌入式,突然遇到这么一道题目,虽然简单,但鉴于我答得不是很好,所以还是分析一下为好。 第一种方法: 通过加减法。 运行结果: 第二种方法: 乘除法。 运行结果: 第三种: 通过位运算符异或来实现。 运行结果: 在做这道题的时候,由于思考进入了误区,所以写到后面都不知道自己在写什么。。。 唉。。。还是要多多修炼内功。 ...

2019-03-20 19:45 0 1179 推荐指数:

查看详情

交换两个变量不使用第三个变量的四方法

通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换。代码如下: 上面的算法最大的缺点就是需要借助一个临时变量。那么不借助临时变量可以实现交换吗?答案是肯定的!这里我们可以用三种算法来实现:1)算术运算;2)指针地址操作;3)位运算;4)栈实现。 1) 算术运算 ...

Wed Oct 15 22:49:00 CST 2014 0 2651
c语言交换 a 和 b 的4方式

要求 在忽略其他一些情况下,把整型 a 和 b互换。 应该比较简单,直接上代码。 小二上代码 调试结果: _End 完事儿。 ...

Tue Dec 14 21:27:00 CST 2021 0 5691
swap:不使用中间变量交换两个a、b两个变量

“写一个swap函数,要求不使用中间变量交换a、b两个变量”,应该算是老生常谈了。但今天却碰到一点新问题。 今天阅读《程序员的自我修养--链接、装载与库》,P98有一小段示例代码: 我觉得用一行代码来实现交换a与b,还是很简洁的。于是顺手发给了一个朋友。结果朋友说 ...

Tue Apr 17 07:40:00 CST 2012 9 560
JS变量变量交换三种方法

一、what 变量就是用来存储数据的容器 二、how 通过var 关键字定义一个变量 变量的赋值:通过赋值运算符“=” 给变量赋值。 注意: 1.如果想要比较两个变量是否相同,不能使用“=”进行比较。 2. ...

Mon Mar 19 05:16:00 CST 2018 0 2034
[转]不使用中间变量交换两个数值变量

第一类方法也是常用的方法,通过多次的数值计算来完成交换,到现在知道的有下面三种: (1)加减法。 a = a + b; b = a - b; a = a - b; 该方法可以交换整型和浮点型数值的变量,但在处理浮点型的时候有可能出现精度的损失,例如对 ...

Wed Oct 21 16:44:00 CST 2015 0 2968
面试官:请说出4不使用第三方变量交换两个变量值的方法

哈喽,大家好,我是阿Q。前几天有个小伙伴去面试,被面试官的一个问题劝退了:请说出几种不使用第三方变量交换两个变量值的方法。 问题有点绕,好不容易缕清了面试官的问题,却发现答不上来。一时间尴尬无比,只能硬着头皮说不会。 遇到交换变量值的问题,通常我们的做法是:定义一个新的变量,借助它完成交换 ...

Thu Dec 09 22:23:00 CST 2021 0 127
c语言实现两数交换三种方法

实现变量互相交换三种不同方法 方法一:利用第三个变量来实现数值的交换 int tmp; tmp = a; a = b; b = tmp; 此方法直观,简易。不易出错,推荐使用 方法二:利用两个变量间的加减运算实现数值的交换 a=a+b ...

Sat Mar 30 07:44:00 CST 2019 0 2051
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM