C 语言实例12 - 交换两个数的值

使用临时变量交换两个数的值

#include <stdio.h>

int main(){

    //使用临时变量;
    int a,b,c;
    printf("请输入两个数:");
    scanf("%d %d",&a,&b);

    printf("使用临时变量交换前:%d %d\n",a,b);

    c = b;
    b = a;
    a = c;

    printf("使用临时变量交换后:%d %d\n",a,b);
    return 0;
}

不使用临时变量交换两个数的值

#include <stdio.h>

int main(){

    int a,b;
    printf("请输入两个数:");
    scanf("%d %d",&a,&b);

    printf("不使用临时变量交换前:%d %d\n",a,b);
   // 加入a=3(3的二进制:011),b=5(5的二进制:101);
    a = a^b;  // 110 = 011 ^ 101
    b = a^b;  // 011 = 110 ^ 101
    a = a^b;  // 101 = 110 ^ 011
    printf("不使用临时变量交换后:%d %d\n",a,b);

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

推荐阅读更多精彩内容