当前位置: 首页 > article >正文

【刷点笔试面试题试试水】不使用任何中间变量如何将a、b的值进行交换?

大家好,这里是国中之林!
❥前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看←

问题:

这里是引用

解答:

#include <iostream>
using namespace std;

void swap1(int& a, int& b)
{
	int temp = a;
	a = b;
	b = temp;
}

void swap2(int& a, int& b)
{
	a = a + b;
	b = a - b;
	a = a - b;
}

void swap3(int& a, int& b)
{
	a = a ^ b;
	b = a ^ b;
	a = a ^ b;
}

int main()
{
	int a1 = 1, b1 = 2;
	int a2 = 3, b2 = 4;
	int a3 = 5, b3 = 6;
	int a = 2147483647, b = 1;

	swap1(a1, b1);
	swap2(a2, b2);
	swap3(a3, b3);

	printf("after swap. . .\n");
	printf("a1 = %d,b1 = %d\n", a1, b1);
	printf("a2 = %d,b2 = %d\n", a2,b2); 
	printf("a3 = %d,b3 = %d\n", a3, b3); 
	
	swap2(a,b);
	printf("a = %d,b = %d\n", a, b);


	return 0;
}

运行结果:
在这里插入图片描述

注意:

  • 方法二可能会溢出,所以方式三是最佳解.

记下来吧…
在这里插入图片描述


http://www.kler.cn/news/328744.html

相关文章:

  • docker如何查看容器的ip
  • 文件的管理
  • Qt6 中相对于 Qt5 的新增特性及亮点
  • 部署(swoft+swoole)网站
  • 雅达利“美洲虎“游戏机在iPhone模拟应用程序中重生
  • Maven和pnpm依赖迁移
  • 关系型数据库和非关系型数据库的区别
  • 闯关训练一:Linux基础
  • 网络安全 DVWA通关指南 DVWA Weak Session IDs(弱会话)
  • 【高分系列卫星简介——高分六号卫星(GF-6)】
  • Windows应急响应-PcShare远控木马
  • java中的强软弱虚
  • SQL Server—表格详解
  • C++ 游戏开发:奠定高性能游戏的基础
  • 【MySQL】-- 数据库基础
  • 微信小程序map组件自定义气泡真机不显示
  • 通信工程学习:什么是MAC媒体接入控制
  • 在C#中使用JSON
  • 链表的实现(go语言)
  • 【AIGC】ChatGPT提示词解析:如何打造个人IP、CSDN爆款技术文案与高效教案设计
  • DVWA | File Inclusion(文件包含)渗透测试
  • 十三、减少磁盘延迟时间的方法
  • SpringBoot上传图片实现本地存储以及实现直接上传阿里云OSS
  • Linux 文件 IO 管理(第三讲:文件系统)
  • vue从入门到精通
  • 成都睿明智科技有限公司抖音电商服务靠谱吗?
  • 前端如何实现图片伪防盗链,保护页面图片
  • 甄选范文“论网络安全体系设计”,软考高级论文,系统架构设计师论文
  • web开发(1)-基础
  • 什么是信息增益