交换两个变量 a、b

交换两个变量 a b

首先想到的方法就是,引入第三个变量tmp;

#include<stdio.h>
int main()
{
    int a,b,tmp;
    scanf("%d,%d",&a,&b);
    tmp=a;
    a=b;
    b=tmp;
    printf("%d %d",a,b);
    return 0;
}

当然还有其他的方法,如果只想使用两个变量呢?
方法1:使用加减运算符

#include<stdio.h>
int main()
{
    int a,b;
    scanf("%d,%d",&a,&b);
    a=a+b;
    b=a-b;
    a=a-b;
    printf("%d %d",a,b);
    return 0;
}

方法2:使用位运算符——^

#include<stdio.h>
int main()
{
    int a,b;
    scanf("%d,%d",&a,&b);
    a=a^b;
    b=a^b;
    a=a^b;
    printf("%d %d",a,b);
    return 0;
}

当然这些方法都不适合用于竞赛,因为效率和不是很高,来个最高效的方法:

#include<stdio.h>
int main()
{
    int a,b;
    scanf("%d,%d",&a,&b);
    printf("%d %d",b,a);
    return 0;
}

当然,从知识层面,我建议大家多了解一点,但是从实际应用,我建议就用最后一个完全可以。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,794评论 1 32
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,120评论 0 10
  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 8,800评论 3 44
  • 1.JavaScript变量 变量(Variables)在程序中用于存储数据,我们可以将数据存入变量,并在将来替换...
    天真即是正义阅读 3,311评论 0 3
  • 一节关于中日甲午战争的历史课在日本的课堂上:同学们今天今天来讨论一下甲午战争!我这里有俩个问题1.日本为什么要发动...
    妞平安阅读 2,701评论 0 0