交换变量的三种方法及简单分析

交换变量的三种方法及简单分析

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

交换两个变量的思路主要有两种:借助或不借助暂时变量。详细操作时又有下面三种简单算法:

1、借助暂时变量的算法

#include <stdio.h>

int main(void)
{
	int a, b, t;
	scanf("%d%d", &a, &b);
	t = a;
	a = b;
	b = t;
	printf("a = %d, b = %d\n", a, b);
	return 0;
}

2、不借助暂时变量的算法1(通过加减运算

#include <stdio.h>

int main(void)
{
	int a, b;
	scanf("%d%d", &a, &b);
	a = a + b;
	b = a - b;
	a = a - b;
	printf("a = %d, b = %d\n", a, b);
	return 0;
}

3、不借助暂时变量的算法2(通过异或运算

#include <stdio.h>

int main(void)
{
	int a, b;
	scanf("%d%d", &a, &b);
	a = a ^ b;
	b = b ^ a;
	a = a ^ b;
	printf("a = %d, b = %d\n", a, b);
	return 0;
}

总结:平时使用时,借助暂时变量的算法已经足够好了。不借助暂时变量的算法1和2看起来非常好(少用一个变量),实际上非常少用,由于它的适用范围非常窄:仅仅有定义了加减法或异或的数据类型才干这么做,这两个算法仅仅是用于提高阅读代码的能力。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118205.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java helloworld源代码_Java Hello World源代码剖析

    java helloworld源代码_Java Hello World源代码剖析首页>基础教程>基础知识>第一个程序HelloWorldJavaHelloWorld源代码剖析JavaHelloWorld源代码publicclasstest001{publicstaticvoidmain(String[]args){System.out.println(“helloworld”);}}代码剖析带有main的类:class…

    2022年5月28日
    41
  • WPA3在2018年为无线安全添砖加瓦

    WPA3在2018年为无线安全添砖加瓦Wi-FiAllianceAnnouncesWPA3,theSuccessortoWi-Fi’sWPA2SecurityProtocolTheWi-FiAlliance–comprising15majorsponsormembers(includingApple,Cisco,Dell,Intel,Microsoft,Qualcomman

    2022年6月8日
    23
  • pycharm怎样添加解释器_pycharm2017解释器

    pycharm怎样添加解释器_pycharm2017解释器如何配置pycharm里面的python解释器?

    2022年8月28日
    2
  • 观察者模式observer不适用于_观察者模式是什么

    观察者模式observer不适用于_观察者模式是什么观察者模式Obeserver动机模式定义实例结构图要点总结笔记动机在软件构建过程中,我们需要为某些对象建立 一种“通知依赖关系” —-一个对象发(目标对象)的状态发生改变,所有依赖的对象(观察者对象)都将很好的得到通知。如果这样的依赖关系过于紧密。将使软件不能很好的抵御变化使用面向对象技术 可以将这种依赖关系弱化,并形成一种稳定的依赖关系。从而实现软件体系结构的松耦合。模式定义定义对象间的一种一对多(变化)的依赖关系,以便当一个对象(subject)的状态发生改变时,所有依赖于它的对象都得到通

    2022年8月11日
    5
  • qq空间秒赞技术是如何实现的_微信自动秒赞

    qq空间秒赞技术是如何实现的_微信自动秒赞手机QQ空间客户端无法秒赞功能,个人建议不要使用秒赞软件。使用秒赞软件会被官方处罚,会有哪些处罚?1、QQ空间无法发布说说动态,无法评论好友说说动态。2、QQ空间被封禁无法访问3、QQ空间被永久封禁,无法解封。以上三点都是使用秒赞软件后出现的情况,强烈建议不要使用秒赞软件,使用了后果自负。…

    2025年7月11日
    3
  • mac idea2021.4.3 激活码(破解版激活)

    mac idea2021.4.3 激活码(破解版激活),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    381

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号