C语言——交换两个int变量的值,不能使用第三个变量。

交换两个int变量的值,不能使用第三个变量。即 a=3,b=5,交换之后a=5,b=3;

cpp 复制代码
#include<stdio.h>
int main()
{
    int a=3;
    int b=5;
    printf("a=%d b=%d\n",a,b);
    a=a^b;
    b=a^b;
    a=a^b;
    printf("a=%d b=%d\n",a,b);
}

"^"------按位异或操作符,这里的按位的位指的是操作数二进制的位,相同为0相异为1.

3的二进制位为:0000 0000 0000 00011

5的二进制位为:0000 0000 0000 00101

注:

1、任何数按位异或自己本身都为0

cpp 复制代码
int a=3;
a^a=a;

2、0与任何数按位异或都为异或的那个数

cpp 复制代码
int a=3;
0^a=a;

输出的答案:

相关推荐
七七软件开发5 分钟前
团购商城 app 系统架构分析
java·python·小程序·eclipse·系统架构·php
补三补四11 分钟前
Shapley与SHAP
大数据·人工智能·算法·机器学习·数据分析
七七软件开发11 分钟前
打车小程序 app 系统架构分析
java·python·小程序·系统架构·交友
_祝你今天愉快17 分钟前
Java-JVM探析
android·java·jvm
学编程的司马光27 分钟前
Idea集成Jenkins Control插件,在IDEA中触发Jenkins中项目的构建
java·jenkins·intellij-idea
孟君的编程札记34 分钟前
别只知道 Redis,真正用好缓存你得懂这些
java·后端
幻雨様37 分钟前
UE5多人MOBA+GAS 番外篇:同时造成多种类型伤害,以各种属性值的百分比来应用伤害(版本二)
java·前端·ue5
KarrySmile43 分钟前
Day17--二叉树--654. 最大二叉树,617. 合并二叉树,700. 二叉搜索树中的搜索,98. 验证二叉搜索树
数据结构·算法·二叉树·二叉搜索树·合并二叉树·最大二叉树·验证二叉搜索树
凤年徐44 分钟前
【数据结构与算法】21.合并两个有序链表(LeetCode)
c语言·数据结构·c++·笔记·算法·链表
程序员老冯头1 小时前
第三十二节 MATLAB函数
数据结构·算法·matlab