美文网首页
交换两个变量 a、b

交换两个变量 a、b

作者: cnpll | 来源:发表于2019-10-15 21:54 被阅读0次

    交换两个变量 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;
    }
    

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

    相关文章

      网友评论

          本文标题:交换两个变量 a、b

          本文链接:https://www.haomeiwen.com/subject/znyemctx.html