文档章节

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

o
 osc_y8yehimr
发布于 2019/03/20 19:45
字数 279
阅读 14
收藏 0

精选30+云产品,助力企业轻松上云!>>>

今天面试嵌入式,突然遇到这么一道题目,虽然简单,但鉴于我答得不是很好,所以还是分析一下为好。

第一种方法:

通过加减法。

 1 #include"stdio.h"
 2 int main(void)
 3 {
 4     int a=6,b=8;
 5     a=a+b;
 6     b=a-b;
 7     a=a-b;
 8     printf("a=%d\nb=%d\n",a,b);
 9     return 0;
10 }

运行结果:


第二种方法:

乘除法。

 1 #include"stdio.h"
 2 int main(void)
 3 {
 4     int a=16,b=68;
 5     a=a*b;
 6     b=a/b;
 7     a=a/b;
 8     printf("a=%d\nb=%d",a,b);
 9     return 0;
10 }

运行结果:


第三种:

通过位运算符异或来实现。

 1 #include"stdio.h"
 2 int main(void)
 3 {
 4     int a=86,b=68;
 5     a=a^b;
 6     b=a^b;
 7     a=a^b;
 8     printf("a=%d\nb=%d",a,b);
 9     return 0;
10 }

运行结果:

在做这道题的时候,由于思考进入了误区,所以写到后面都不知道自己在写什么。。。

唉。。。还是要多多修炼内功。

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
「快速复习」在JavaScript中交换变量的4种方法

https://juejin.im/post/5e5b626fe51d4527005674d5 许多算法需要交换2个变量。在编码面试中,可能会问您“如何在没有临时变量的情况下交换2个变量?”。我很高兴知道执行变量交换的多种方法。...

osc_2x36yftz
03/19
3
0
「快速复习」在JavaScript中交换变量的4种方法

https://juejin.im/post/5e5b626fe51d4527005674d5 许多算法需要交换2个变量。在编码面试中,可能会问您“如何在没有临时变量的情况下交换2个变量?”。我很高兴知道执行变量交换的多种方法。...

osc_zq2o0u6t
03/19
1
0
「快速复习」在JavaScript中交换变量的4种方法

许多算法需要交换2个变量。在编码面试中,可能会问您“如何在没有临时变量的情况下交换2个变量?”。我很高兴知道执行变量交换的多种方法。在本文中,您将了解大约4种交换方式(2种使用额外的...

杜尼卜
03/01
0
0
控制语句

程序的三种基本结构 复合语句 将若干个C语句使用花括号{ }包括起来形成复合语句。花括号内可以包含任何C语句, 其一般形式为: { 语句1; 语句2; …… 语句n; } 1.if条件分支语句 if语句有三...

osc_2qjd9tjg
2019/01/22
2
0
JS程序

JavaScript 中的构造函数 学习总结。知识只有分享才有存在的意义。 是时候替换你的 for 循环大法了~ 《小分享》JavaScript中数组的那些迭代方法~ JavaScript两个变量交换值(不使用临时变量)...

掘金官方
2017/12/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

面试必问之mysql基础

mysql存储引擎 如何选择mysql存储引擎 先得了解下各个存储引擎区别 功能 MylSAM MEMORY InnoDB Archive 功能 MylSAM MEMORY InnoDB Archive 存储限制 256TB RAM 64TB None 支持事务 No No Ye...

lipengxs
14分钟前
16
0
错误:将标头发送到客户端后无法设置标头 - Error: Can't set headers after they are sent to the client

问题: I'm fairly new to Node.js and I am having some issues. 我对Node.js相当陌生,遇到了一些问题。 I am using Node.js 4.10 and Express 2.4.3. 我正在使用Node.js 4.10和Express 2......

法国红酒甜
25分钟前
18
0
Spring中事务不生效的几种情况

数据库引擎不支持事务。 没有被Spring管理。 方法不是public的。 自身调用问题。 数据源没有配置事务管理器。 不支持事务。 异常被吃了。 异常类型错误。 事务失效类型: 数据库引擎不支持事...

九分石人
44分钟前
31
0
从Linux内核理解JAVA的NIO

前言 IO 可以简单分为磁盘 IO 和 网络 IO ,磁盘 IO 相对于网络 IO 速度会快一点,本文主要介绍 磁盘 IO ,网络 IO 下周写。 JAVA 对 NIO 抽象为 Channel , Channel 又可以分为 FileChannel ...

万古云霄
50分钟前
22
0
Material Design用在c#的wpf app中

官网:http://materialdesigninxaml.net/ 样式丰富 做网站和手机不粗 个人觉得不适合用在.net framework中,在.net core中应该大有作为。...

齐勇cn
51分钟前
28
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部