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

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

#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

int a=3;
a^a=a;

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

int a=3;
0^a=a;

输出的答案:

相关推荐

  1. 章:交换变量

    2023-12-06 18:58:02       50 阅读
  2. 交换变量

    2023-12-06 18:58:02       31 阅读
  3. 如何不用额外变量交换

    2023-12-06 18:58:02       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-06 18:58:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-06 18:58:02       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-06 18:58:02       87 阅读
  4. Python语言-面向对象

    2023-12-06 18:58:02       96 阅读

热门阅读

  1. 使用Qt Creator进行移动平台编程

    2023-12-06 18:58:02       74 阅读
  2. 【CTA认证】Android CTA资料及信息安全要求

    2023-12-06 18:58:02       74 阅读