交换两个数的值

不使用中间变量,交换两个数的值。

1.异或运算符

#include 

int main()
{
    int a = 3;
    int b = 6;
    
    printf("a = %d\tb = %d\n", a, b);

    a = a ^ b;
    b = a ^ b;
    a = a ^ b;

    printf("a = %d\tb = %d\n", a, b);

    return 0;
}
[root@localhost 0721]# ./main 
a = 3   b = 6
a = 6   b = 3
不使用中间变量交换两个数的值中,使用异或运算符,数据没有限制。

2.加减运算符

#include 

int main()
{
    int a = 3;
    int b = 6;
    
    printf("a = %d\tb = %d\n", a, b);

    a = a + b;
    b = a - b;
    a = a - b;

    printf("a = %d\tb = %d\n", a, b);

    return 0;
}
[root@localhost 0721]# ./main 
a = 3   b = 6
a = 6   b = 3
使用加减运算符交换两个数,数据有限制。不能让一个很大的数加上一个很小的数,会造成数据丢失!

3.乘除运算符

#include 

int main()
{
    int a = 3;
    int b = 6;
    
    printf("a = %d\tb = %d\n", a, b);

    a = a * b;
    b = a / b;
    a = a / b;

    printf("a = %d\tb = %d\n", a, b);

    return 0;
}
[root@localhost 0721]# ./main 
a = 3   b = 6
a = 6   b = 3
使用乘除运算符交换两个数,数据也有限制。数据里面不能有0,否则结果不正确!


你可能感兴趣的:(C,/,C++)