可以使用异或运算符 ('^') 来实现两个变量值的交换,代码如下:

#include <stdio.h>

void swap(int *a, int *b) {
    *a = *a ^ *b;
    *b = *a ^ *b;
    *a = *a ^ *b;
}

int main() {
    int num1 = 10;
    int num2 = 20;

    printf('Before swapping: num1 = %d, num2 = %d\n', num1, num2);

    swap(&num1, &num2);

    printf('After swapping: num1 = %d, num2 = %d\n', num1, num2);

    return 0;
}

运行结果:

Before swapping: num1 = 10, num2 = 20
After swapping: num1 = 20, num2 = 10

swap函数中,首先使用异或运算交换ab的值,然后将结果再次与b进行异或运算,最后将结果再次与a进行异或运算,实现了两个变量值的交换。

C语言实现两个变量值交换:无需额外变量

原文地址: https://www.cveoy.top/t/topic/qijH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录