• 互换两个变量,不使用中间变量


    第一种方法:
    a=a+b;
    b=a-b;
    a=a-b;

    第二种方法:
    解决方法:(a、b异或的结果 ,和a异或得b ,和b异或得a)
    a=a^b;
    b=a^b;
    a=a^b;

    异或运算法则:

    0^0=0
    0^1=1
    1^0=1
    1^1=0

    写成宏替换的方法如下:

    #include "stdio.h"
    #define swap(a,b) (a)^=(b)^=(a)^=(b)
    int main(void)
    {
        int a,b;
        printf("请输入两个变量a和b:/n");
        scanf("%d %d",&a,&b);
        printf("a和b交换前:/n");
        printf("a=%d b=%d/n",a,b);
        swap(a,b);
        printf("a和b交换后:/n");
        printf("a=%d b=%d/n",a,b);
        system("pause");
        return 0;
    }
  • 相关阅读:
    super与this的比较
    队列学习小结
    最左原则
    show processlist
    循环
    打印偶数
    发布模块
    eval函数
    文件
    模块
  • 原文地址:https://www.cnblogs.com/sooner/p/2657173.html
Copyright © 2020-2023  润新知